我遇到了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数据。我在这里做错了什么,或者我如何在这里诊断问题?
由于
答案 0 :(得分:0)
你的例子非常好。这是一个测试它的JSfiddle示例(使用echo服务):
var id = 123;
var url = "/echo/json/";
$.getJSON(url, function (data) {
alert("hello");
});
答案 1 :(得分:0)
这看起来像是来自您提供的代码之外的某个地方的问题。要排除故障,我会尝试这样做......
var id = 123;
var url = "/test.aspx?id=" + id;
console.log("before");
$.getJSON(url, function (data) {
console.log("inside");
});
console.log("after");
通过这种方式你可以看到代码是否真的进入json请求,因为你会在控制台中看到“之前”,你可以看到它是否进入,因为你会在控制台中看到“inside”等
此外,您传入$.getJSON
的网址可能不是正确的网址。您可能希望事先没有斜线尝试它,或者可能传递完整的URL以确保您引用正确的位置。
答案 2 :(得分:0)
这有点奇怪,但我必须在请求中指定JSON的数据类型。
var id = 123; var url =“/ echo / json /”; $ .getJSON(url,“json”,function(data){ 警报( “你好”); });
我从http://api.jquery.com/jQuery.getJSON/得到了JSON的想法。此页面上的示例适用于PlainObject。我的代码中的url试图将JSON解析为PlainObject但是失败了。在关闭getJSON括号后我使用.success和.error来找出问题。要了解如何使用成功和错误,请滚动到jquery.com链接的底部。
答案 3 :(得分:0)
确保您的JSON是有效的JSON,例如通过JSONLint运行它。
当请求的JSON无效时,JQuery的.getJSON()
和.ajax()
会无声地失败。