0

我在使用 jQuery AJAX 调用时遇到了一些问题。我绝不是专家,但我对 jQuery 的了解足以应付简单的任务。

这是我的代码 -

var id = 123;
    var url = "/test.aspx?id=" + id;
            $.getJSON(url, function (data) {
                alert(1);
            });

问题是警报(1)没有被击中。当我手动检查 [domain]/test.aspx?id=123 时,我将返回 JSON 数据。我在这里做错了什么或如何在这里诊断问题?

谢谢

4

4 回答 4

0

你的例子工作得很好。这是一个 JSfiddle 示例来测试它(使用 echo 服务):

var id = 123;
var url = "/echo/json/";
$.getJSON(url, function (data) {
    alert("hello");
});

http://jsfiddle.net/QyfCF/1/

于 2013-08-01T13:48:30.430 回答
0

这看起来像是来自您提供的代码以外的其他地方的问题。为了解决问题,我会尝试做这样的事情......

var id = 123;
var url = "/test.aspx?id=" + id;
console.log("before");
$.getJSON(url, function (data) {
  console.log("inside");
});
console.log("after");

这样你就可以看到代码是否真的到达了 json 请求,因为你会在控制台中看到“之前”,你可以看到它是否进入了,因为你会在控制台中看到“内部”等等。

此外,您传入的网址可能$.getJSON不是正确的网址。您可能想事先尝试不使用斜线,或者可能传入完整的 url 以确保您引用了正确的位置。

于 2013-08-01T13:48:46.650 回答
0

这有点奇怪,但我必须在请求中指定 JSON 的数据类型。

变量 ID = 123;var url = "/echo/json/"; $.getJSON(url, "json", function (data) { alert("hello"); });

我从http://api.jquery.com/jQuery.getJSON/得到了 JSON 的想法。此页面上的示例适用于 PlainObject。我的代码中的 url 试图将 JSON 解析为 PlainObject 但失败了。我在 getJSON 的右括号后使用了 .success 和 .error 来解决问题。要查看如何使用成功和错误,请滚动到 jquery.com 链接的底部。

于 2013-08-01T14:44:06.887 回答
0

确保您的 JSON 是有效的 JSON,例如通过JSONLint运行它。当请求的 JSON 无效时,JQuery.getJSON()和静默失败。.ajax()

于 2013-08-01T14:45:19.610 回答