Ajax 为什么不是';JSONP回调函数是否被调用?
我正在尝试使用jsonp访问以下位置的数据: 但是,我尝试过的任何解决方案都不会导致调用回调函数或success函数。当我使用Chrome/Firefox检查工具时,我可以查看脚本,看到响应是200 Ok,并且响应文本包含来自上述URL的数据。尽管如此,回调函数和success函数在任何时候都不会被调用。你有什么办法让它工作吗 以下是我最近一次尝试运行此功能的尝试:Ajax 为什么不是';JSONP回调函数是否被调用?,ajax,jquery,cross-domain,jsonp,Ajax,Jquery,Cross Domain,Jsonp,我正在尝试使用jsonp访问以下位置的数据: 但是,我尝试过的任何解决方案都不会导致调用回调函数或success函数。当我使用Chrome/Firefox检查工具时,我可以查看脚本,看到响应是200 Ok,并且响应文本包含来自上述URL的数据。尽管如此,回调函数和success函数在任何时候都不会被调用。你有什么办法让它工作吗 以下是我最近一次尝试运行此功能的尝试: <script src="http://code.jquery.com/jquery-1.9.1.min.js">&
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
function parseResults(results) {
console.log('hello function callback.');
}
$.ajax({
url: 'https://github.com/users/jbranchaud/contributions_calendar_data',
type: 'post',
dataType: 'jsonp',
jsonp: true,
jsonpCallback: 'parseResults',
success: function(data, textStatus, jqXHR) {
console.log('success_function');
console.log(data);
},
error: function() {
console.log('error with jsonp request');
}
});
</script>
函数解析结果(results){
log('hello函数回调');
}
$.ajax({
网址:'https://github.com/users/jbranchaud/contributions_calendar_data',
键入:“post”,
数据类型:“jsonp”,
jsonp:没错,
jsonpCallback:'parseResults',
成功:函数(数据、文本状态、jqXHR){
console.log('success_function');
控制台日志(数据);
},
错误:函数(){
log('jsonp请求出错');
}
});
加载页面时,我在控制台中看到“jsonp请求出错”,因此ajax请求出错。这个请求没有成功的原因是什么?在ajax请求中,尝试将属性“jsonp”设置为false(jsonp:false) 基本上,JQuery生成一个自动的函数回调名称,如下所示:JQuery1223…34 在本例中,您已经显式设置了jsonpCallback函数名。因此,您必须将JSONPAttribute设置为false。 您的代码应该如下所示:
$.ajax({
url: 'https://github.com/users/jbranchaud/contributions_calendar_data',
type: 'post',
dataType: 'jsonp',
jsonp: false,
jsonpCallback: 'parseResults',
success: function(data, textStatus, jqXHR) {
console.log('success_function');
console.log(data);
},
error: function() {
console.log('error with jsonp request');
}
});
控制台中是否有错误,能否添加一个错误回调并检查它是否被调用parseResults是否被调用控制台中没有错误,但当我向ajax请求添加一个错误回调时,它打印了我的错误消息(请参阅更新的代码)您的响应似乎不是jsonp响应jsonp响应的格式应该是
()
。exparseResults([[“2012/03/01”,0],“2012/03/02”,1],“2012/03/03”,1]])