$.getJSON("http://www.geoplugin.net/json.gp?ip=117.201.92.17",function(data){alert(data);});
此代码运行正常,但url的响应为空。但是,如果我通过复制粘贴网址访问相同的URL,它的工作原理。有什么想法吗?
答案 0 :(得分:3)
AJAX和错误:标签无效
如果您正在使用jQuery 做AJAX调用JSON Web服务, 你可能会看到 Javascript错误错误:标签无效 要消除此错误,请标记 jsoncallback =?到网址的时候 对任何人进行jQuery Ajax调用 JSON webservice例如
$.getJSON("http://www.geoplugin.net/json.gp?jsoncallback=?", function (data) { for (var i in data) { document.write('data["i"] = ' + i + '<br/>'); } );
所以我添加了created a fiddle here (link)以显示它正常工作。
答案 1 :(得分:0)
http://api.jquery.com/jQuery.getJSON/州的文档:
重要:从jQuery 1.4开始,如果是 JSON文件包含语法错误, 请求通常会无声地失败。 避免频繁手工编辑JSON 数据就是这个原因。 JSON是一个 数据交换格式与语法 比那些更严格的规则 JavaScript的对象文字符号。 例如,表示所有字符串 在JSON中,它们是否属性 或值,必须包含在内 双引号。有关JSON的详细信息 格式,请参阅http://json.org/。
是否以有效的JSON格式返回数据?为什么不尝试另一种方法:
$.ajax({
url: url,
dataType: 'json',
data: data,
success: callback
});
这样你可以删除json dataType并确保调用正在返回任何数据,json或不返回。
还要记住,由于浏览器安全限制,ajax请求受同一原始策略的约束;请求无法成功从其他域,子域或协议中检索数据。