【发布时间】:2015-10-24 17:48:31
【问题描述】:
我目前正在尝试制作一个 Ajax 脚本来与我的本地主机上的 Rails 服务器进行通信(目前)。问题是我在我的 $.ajax 请求中指定了我想要“json”格式,但 rails 返回一个“html”格式:
$(document).ready(function(){
$('form').on("submit",function(){
$.ajax({
contentType: 'application/json; charset=utf-8',
url : "http://192.168.0.36:3000/?value=10",
type : "GET",
dataType : 'JSON',
success: function(data){
alert(JSONParsedata(data));
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert(textStatus +", " +errorThrown);
}
});
return false;
})
在 Rails 服务器的控制台日志中,我可以看到:
WelcomeControllerindex 处理为 HTML ... 在 34 毫秒内完成 200 次 OK...
我实际上收到了来自服务器的响应,但是是 HTML 格式而不是 JSON。
我确切地说,我的 rails 控制器的welcomeController 代码包含:
respond_to do |format|
format.html
format.json { render :json => @z }
end
z 是一个我想发回给 Ajax 请求的变量,它是在之前定义的(我点亮了代码以使其易于理解)
因此,Jquery 尝试将结果解析为 JSON 格式,然后以 a 结束: 解析器错误语法错误意外令牌'
我搜索了几个小时,但我不知道如何解决这个问题。
非常感谢您的帮助
【问题讨论】:
标签: ruby-on-rails json format respond-to