【发布时间】:2015-04-10 00:39:50
【问题描述】:
我正在尝试使用 jquerys ajax 函数访问公共 api。我可以看到请求以 HTTP 代码 200 响应,并且有开发人员工具的数据,但成功方法没有触发,有错误
错误:未调用 mycallback
$.ajax({
url: rootUrl + endpoints[0],
type: "GET",
data: {
all: false,
date: getIsoDate(),
city_id: 3
},
crossDomain: true,
dataType: "jsonp",
jsonpCallback: 'mycallback',
success: function (data) {
alert('success');
console.log(data);
},
error: function (xhr, status, error) {
alert(error);
},
});
function mycallback(data) {
alert("jsonpCallback");
}
如果我尝试将数据类型设置为 json,它会得到不存在的跨站点域源头。
【问题讨论】:
-
你确定 API 完全支持 JSONP 吗?
-
你可以试试
window.mycallback = function(data) { ...,因为它应该是全局的 -
它肯定会以 json 响应,我可以将请求 url 粘贴到浏览器中并获得 json 响应
-
但是 JSON 不是 JSONP,不是一回事
标签: jquery ajax jquery-ajaxq