【发布时间】:2014-12-31 02:56:35
【问题描述】:
我刚开始在 Rails 4 中编码,所以我可能需要非常具体的指导。我正在使用 AJAX 从文本字段中获取用户输入,对其进行修改(为简单起见,我只是在其末尾添加“耶!”),然后将响应作为字符串返回到文本字段。
我相信我正确地发送了我的 AJAX 请求,但我的控制器或视图中的某些内容没有修改或显示结果。
这是我的代码:
查看(solve.html.erb):
<head>
<script>
function myFunction() {
var xmlhttp = new XMLHttpRequest();
var url = "solve";
var params = "field1=" + document.getElementById("field1").value;
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("field1").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", url + "?" + params, true);
xmlhttp.send();
}
</script>
</head>
<h1>Solve!</h1>
<p>Type it in, type it in.</p>
<div class="col-lg-6">
<div class="input-group">
<input id="field1" type="text" class="form-control" placeholder="1+1">
<span class="input-group-btn">
<button class="btn btn-default" type="button" onclick="myFunction()">Solve</button>
</span>
</div>
</div>
路线(routes.rb):
resources :equations
#rest of my routes code
get 'solve' => 'equations#solve'
控制器(equations_controller.rb):
class EquationsController < ApplicationController
def solve
if request.post?
new_var = params[:field1]
other_var = "#{new_var} yay!"
return other_var
end
end
end
如果您有任何问题,我会尽快回复您。非常感谢你的帮助!任何事情都非常感谢。
【问题讨论】:
-
你已经标记了 jQuery,但是在整个 sn-p 中看不到 jQUery 代码
-
我很抱歉!感谢您指出我的错误,以后我一定会仔细检查。
标签: ruby-on-rails ajax ruby-on-rails-4