[英]getJSON callback not executing
我需要执行跨域请求,并且getJSON存在问题。
$.getJSON("http://usr:pwd@10.0.1.xx/cgi-bin/remote/request.cgi?m=json&r=grp&fn=getvalue&alias=1/3/51&callback=?",
function(result) {
alert('hi');
});
回调不会触发,即我没有收到警报。 如果将http://链接粘贴到浏览器窗口中,则会得到所需的结果。 它是一个纯数字,在这种情况下为2
。 我还可以将请求设置为xml,在这种情况下,浏览器窗口中的结果为<value>2</value>
。 如果有人可以告诉我我的getJSON有什么问题,那将很棒。
致以真诚的感谢和诚挚的问候
您的JSON可能有问题。 这取自文档。
重要提示:从jQuery 1.4开始,如果JSON文件包含语法错误,则请求通常会静默失败。 因此,请避免对JSON数据进行频繁的手动编辑。 JSON是一种数据交换格式,其语法规则比JavaScript的对象文字表示法严格。 例如,以JSON表示的所有字符串,无论它们是属性还是值,都必须用双引号引起来。 有关JSON格式的详细信息,请参见http://json.org/ 。
资源:
http://api.jquery.com/jquery.getjson/
要更好地控制错误处理,请使用$.ajax
您可以在此处http://jsonlint.com/查看JSON。
您尝试呼叫的远程端点似乎不支持JSONP或CORS。 这可以在浏览器的控制台输出中看到,也可以直接粘贴网址并替换为&callback=?
来看到&callback=?
&callback=somevalue
参数。
为了能够进行跨域AJAX调用,远程端点必须支持CORS或JSONP。 如果您希望能够使用AJAX使用它们,则可能应该与该端点的作者联系以启用其中之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.