' Uncaught SyntaxError:意外的令牌:'尝试从instagram / user_name / media获取数据时

时间:2016-07-20 08:47:02

标签: ajax jsonp

我试图从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上重复出现。 我应该提一下,不允许使用后端

提前谢谢

1 个答案:

答案 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);