【发布时间】:2013-11-20 04:45:29
【问题描述】:
我正在执行以下操作 - 这是一个 JQuery .get(),它调用应该返回 JSON 对象的 http 处理程序。在 .get() 的回调函数(即在 .get() 函数中传递的第三个参数)中,当接收到成功的 http 响应时调用该函数,然后将该对象的纬度和经度属性分配给一对其他属性
var url = "/handlers/GeolocationByIpAddress.ashx";
$.get(url, {}, function (data) {
g.currentLat = data.Latitude;
g.currentLng = data.Longitude;
});
当我在行上设置断点时:
g.currentLat = data.Latitude;
未命中,说明未触发成功回调。我已经在 Firebug 的“NET”选项卡中检查了对 .ashx 处理程序的请求,它显示了一个成功的 JSON 响应,其中包含正确格式的 JSON 对象,并且“纬度”和“经度”属性设置正确。我尝试以不同的方式组织上述代码,以便回调调用另一个函数并将“数据”传递给它,而不是自调用。永远不会调用单独的函数,这似乎证实 .get() 只是没有识别成功的响应。当我在 Firebug 的“NET”选项卡中看到成功响应时,为什么会发生这种情况?
【问题讨论】:
-
console.log(data) 检查你得到了什么
标签: jquery httphandler ashx jquery-callback