$.getJSON 无法处理命名函数?
$.getJSON cant handle named function?
为什么jquery在我命名回调函数时没有执行该函数?
$.getJSON("http://ip.jsontest.com/?callback=showMyIP"),function (){
console.log("test");}
开发工具显示我得到了正确的 json
showMyIP({"ip": "84.113.30.7"});
但是他简单的忽略了下面的函数
如果我将 showMyIP 替换为 ?并使其匿名。
我还有一个 100% 正确的 json,其中 jquery 拒绝 运行 匿名函数,尽管得到了正确的 json 回包匿名。函数,在调试中我丢失了一个;某些对象上的错误对我来说根本没有意义,因为没有;在 jsons.
中使用
你有两个问题。首先,您的代码中有一个随机 )
导致语法错误。
其次,$.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>
为什么jquery在我命名回调函数时没有执行该函数?
$.getJSON("http://ip.jsontest.com/?callback=showMyIP"),function (){
console.log("test");}
开发工具显示我得到了正确的 json
showMyIP({"ip": "84.113.30.7"});
但是他简单的忽略了下面的函数
如果我将 showMyIP 替换为 ?并使其匿名。
我还有一个 100% 正确的 json,其中 jquery 拒绝 运行 匿名函数,尽管得到了正确的 json 回包匿名。函数,在调试中我丢失了一个;某些对象上的错误对我来说根本没有意义,因为没有;在 jsons.
中使用你有两个问题。首先,您的代码中有一个随机 )
导致语法错误。
其次,$.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>