jquery.ajax代码,在firefox中工作,但在所有其他浏览器中都失败

jquery.ajax code that works in firefox but fails in all other browsers

本文关键字:其他 失败 浏览器 工作 ajax 代码 firefox jquery      更新时间:2023-09-26

代码在这里http://jsfiddle.net/assuredlonewolf/vHC9A/20/

我不知道发生了什么事!

我知道被调用的url不是问题所在,我确保在新浏览器中打开代码时得到一个新的url,因为这是一个新会话,Facebook的访问令牌会更改

在Firefox中也显示

{"错误":{"message":"验证访问令牌时出错:会话已在unix时间1332122400过期。当前unix时间为1332123847。","type":"OAuthException","代码":190}}

这可能是你的访问令牌问题,但为了谈论你的功能

        function createFriendsUi(elem)

它显示了一些类似IE和Chrome控制台在第52行显示的INVALID字符的东西,称Uncaught SyntaxError:意外的令牌非法

有一个非法的空白字符,我不知道在哪里,但当我重写你的函数时,它在chrome甚至IE中都很好。

重新编写后的功能

      function createFriendsUi(elem)
        {
         var container = document.getElementById(elem);
         for (i=0;i<fbUser.friends.allNamesAndIds.length; i++) {
        var info = fbUser.friends.allNamesAndIds[i].split('||');
        var div = document.createElement('div');
        var image = document.createElement('img')
        var name = document.createElement('p');
        var label = document.createElement('label')
        var input = document.createElement('input');
        input.value = 'compare';
        input.type = 'submit'
        label.className = 'uiButton uiButtonConfirm';
        name.innerHTML = info[0];
        div.className = 'ppp';
        image.src = ' http://graph.facebook.com/' + info[1] + '/picture ';
        label.appendChild(input);
        div.appendChild(name);
        div.appendChild(image)
        div.appendChild(label);
        container.appendChild(div);
    }
  }

您正在请求一个具有已过期令牌的页面,而Facebook返回

{
   "error": {
      "message": "Error validating access token: Session has expired at unix time 1332122400. The current unix time is 1332123213.",
      "type": "OAuthException",
      "code": 190
   }
}