【问题标题】:Error using $.ajax type GET on IE在 IE 上使用 $.ajax 类型 GET 时出错
【发布时间】:2013-04-04 14:46:00
【问题描述】:

我无法在 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;
    }

【问题讨论】:

  • 贴出你调用的所有其他方法的代码,例如getUrlVars2和end(),大家需要看到它来提供帮助
  • 好的,在 end() 函数上并不重要,因为在 IE 上 NewPage2() 有错误,需要函数 (res) 上的值。
  • 我以为你说开发者工具没有显示错误?
  • 不,我在开发者工具上没有错误
  • 那么你怎么知道你在 NewPage2() 上有错误呢?

标签: javascript jquery html facebook token


【解决方案1】:

根据您使用的 IE 版本(参见例如 here),该问题可能与跨域 AJAX 请求被拒绝有关。在任何情况下,请尝试将 &amp;callback=? 添加到请求 URL,以便改用 JSONP。有关将 JSONP 与 jQuery 结合使用的更多信息,请参阅 jQuery documentation。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    • 2012-02-18
    • 2016-10-16
    • 2011-10-20
    相关资源
    最近更新 更多