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

时间:2012-03-19 02:02:39

标签: javascript jquery ajax facebook

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

我不知道发生了什么事!

我知道被调用的url不是问题,我确保在新浏览器中打开代码时会得到一个新的url,因为它是一个新会话并且Facebook的访问令牌发生了变化

2 个答案:

答案 0 :(得分:1)

在Firefox中也说

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

这可能是您的访问令牌问题,但是谈论您的功能

        function createFriendsUi(elem)

它在第52行中显示了一些像INVALID字符的IE和Chrome consol表示Uncaught SyntaxError:Unexpected token ILLEGAL

有非法的空白字符,我不知道在哪里,但是当我重新编写你的功能时,它在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);
    }
  }

答案 1 :(得分:0)

您正在请求包含已过期且Facebook返回

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