我正在尝试从我的api获取json
端点,这个api使用HTTP-Basic-Auth(禁用测试)。当我尝试获取json
时,jquery返回Error: jsonp_callback was not called
<script type="text/javascript" src="assets/js/jquery-2.1.1.js"></script>
<script type="text/javascript">
$.ajax
({
type: "GET",
url: "http://localhost:8000/notifications?callback=jsonp_callback",
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: 'jsonp_callback',
crossDomain: true,
contentType: 'application/json',
success: function(response){
alert('done!');
},
error:function(jqXHR, textStatus, errorThrown){
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
}
});
function jsonp_callback(r){
console.log("function");
console.log(r);
}
</script>
我可以看到实际上查询完成的响应并返回json。
答案 0 :(得分:0)
您必须验证您的响应是否返回回调函数中涉及的JSON的内容,而不仅仅是JSON内容。
这样的事情:
jsonp_callback({“foo”,“bar”});
jsonp技术包括返回一个包装在回调函数中的JSON对象。您发送的GET“回调”参数通常用于命名回调函数,并且更灵活一点。以平面PHP代码为例:
{{1}}