我试图从https://www.instagram.com/user_name/media/
获取jsonp这是我的代码:
$.ajax({
type: "GET",
url: "https://www.instagram.com/justinbieber/media?callback=?",
dataType: "jsonp",
success: function(data){
console.log(data);
}
});
结果我得到了#34; Uncaught SyntaxError:意外的令牌:" 当我'我试图得到json我有下一个错误:
XMLHttpRequest无法加载https://www.instagram.com/justinbieber/media。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' null'因此不允许访问。
这个错误在本地主机和github.io上重复出现。 我应该提一下,不允许使用后端
提前谢谢
答案 0 :(得分:0)
固定
jQuery.ajax = function (d) {
var b = location.protocol,
e = RegExp(b + "//" + location.hostname),
f = "http" + (/^https/.test(b) ? "s" : "") + "://query.yahooapis.com/v1/public/yql?callback=?";
return function (a) {
var c = a.url;
if (/get/i.test(a.type) && !/json/i.test(a.dataType) && !e.test(c) && /:\/\//.test(c)) {
a.url = f;
a.dataType = "json";
a.data = {
q: 'select * from html where url="{URL}" and xpath="*"'.replace("{URL}", c + (a.data ? (/\?/.test(c) ? "&" : "?") + jQuery.param(a.data) : "")),
format: "xml"
};
!a.success && a.complete && (a.success = a.complete, delete a.complete);
var b = a.success;
a.success = function (a) {
b && b.call(this, {
responseText: (a.results[0] || "").replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, "")
}, "success")
}
}
return d.apply(this, arguments)
}
}(jQuery.ajax);