编程语言
首页 > 编程语言> > javascript-无法使用$.getJSON获得json响应

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