-1

我不能在 IE 上运行这个脚本,我知道为什么,因为在调试器“F12”上我什么也看不到,在其他浏览器上它可以工作(FF、CH 和 Safari)。该脚本从 facebook 获取令牌,然后将保存到数据库(保存到数据库的函数是end())。

function NewPage2() {

     var url2 = "https://graph.facebook.com/oauth/access_token?client_id="
            + '<%=ConfigurationManager.AppSettings["clientId"].ToString() %>' + "&redirect_uri="
            + '<%=ConfigurationManager.AppSettings["redirectUrl"].ToString() %>' + "&state="
            + document.getElementById('text').value + "&client_secret="
            + '<%=ConfigurationManager.AppSettings["client_secret"].ToString() %>'
            + "&code=" + getUrlVars2()["code"];
     $.ajax({
         url: url2,
         type: 'GET',
         success: function (res) {
             alert("success" + res);
         },
         error: function (res) {
             alert("Error" + res);
         }
     });
            }


function getUrlVars2() {
        var vars = [], hash;
        var url = location.href.replace("#_=_", "");
        var hashes = url.slice(url.indexOf('?') + 1).split('&');
        for (var i = 0; i < hashes.length; i++) {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    }
4

1 回答 1

1

根据您使用的 IE 版本(请参见此处的示例),问题可能与跨域 AJAX 请求被拒绝有关。无论如何,请尝试添加&callback=?到请求 URL 以改用JSONP。有关将JSONP 与 jQuery 结合使用的更多信息,请参阅jQuery 文档。

于 2013-04-04T15:10:46.733 回答