javascript-无法使用$.getJSON获得json响应
作者:互联网
我目前正在开发Ruby on Rails 3应用程序.
我的服务器控制器函数将json对象作为响应呈现:
class DaysController < BaseController
...
def the_days
...
render :json => days
end
end
在我的JavaScript中,我使用以下代码从服务器获取json响应(来自控制器中的the_day函数)
$.getJSON(
url,
{emp_id: emp_id},
function(data) {
var result = data.response;
alert(result)
alert(data)
},
"json"
);
我使用firefox浏览器,并在Firebug Net-> XHR中使用Firebug进行检查,我看到Get请求成功,并且响应“ days”在那里.请求和响应都成功.
但是我没有看到上面$.getJSON函数中定义的两个警报窗口,为什么?为什么我无法在$.getJSON函数中获得响应“天”?
—————–编辑——————
我将代码编辑为此:
$.ajax({
url: myURL,
type: 'GET',
data: {
emp_id: emp_id
},
dataType: "json",
success: function(data) {
alert("hi");
alert(data)
}
});
当我运行此代码时,浏览器会停滞不前:function(data)
解决方法:
如果数据返回为空,但响应成功,那么我将以违反Same Origin Policy的方式发送请求.
该请求需要发送到与原始页面相同的主机/端口/协议.
如果这仅是开发环境中的问题,则可以通过具有–disable-web-security的终端应用程序启动Chrome在Chrome中进行测试.
编辑:尝试将参数名称从数据更改为其他数据,例如dat或其他.
然后尝试警报:
alert( dat );
我听说有些浏览器在使用AJAX调用的data属性时遇到data参数问题.
标签:ruby-on-rails-3,json,javascript,ruby-on-rails,jquery 来源: https://codeday.me/bug/20191208/2093573.html