我目前正在尝试制作一个 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。
我确切地说我的welcomeController 代码的rails 控制器包含:
respond_to do |format|
format.html
format.json { render :json => @z }
end
z 是我想发回给 Ajax 请求的变量,并且在之前定义过(我点亮了代码以使其易于理解)
结果,Jquery 尝试将结果解析为 JSON 格式,然后以 : parsererror syntaxerror unexpected token '<' 结束,它对应于整页的第一个字符!
我搜索了几个小时,但我不知道如何解决这个问题。
非常感谢您的帮助