为什么jquery在命名回调函数时没有执行该函数?
$.getJSON("http://ip.jsontest.com/?callback=showMyIP"),function (){
console.log("test");}
dev工具显示我得到了正确的json
showMyIP({"ip": "84.113.30.7"});
但他简单地忽略了以下功能
如果我用showMyIP替换?并使其无效它。
我还有一个100%正确的json,其中jquery拒绝运行匿名函数,尽管正确的json包裹在anony中。功能,在调试中我得到了一个缺失;某些对象的错误对我来说毫无意义,因为没有;用于jsons。
答案 0 :(得分:1)
你有两个问题。首先,代码中存在随机)
,导致语法错误。
其次,$.getJSON
需要JSON响应,而不是JSONP。要执行您想要的操作,请使用$.ajax()
并设置正确的dataType
:
$.ajax({
url: 'http://ip.jsontest.com/',
dataType: 'jsonp',
jsonpCallback: 'showMyIP',
success: function(data) {
console.log(data);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>