2012-04-04 71 views
0

我有一个奇怪的错误“发送”按钮“发送”按钮错误401

我已经在我的网页下面的代码

<div id="fb-root"></div> 
    <script type="text/javascript"> 
     (function(d, s, id) { 
      var js, fjs = d.getElementsByTagName(s)[0]; 
      if (d.getElementById(id)) return; 
      js = d.createElement(s); 
      js.id = id; 
      js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&amp;appId=<myAppId>"; 
      fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk')); 
    </script> 
    <br/> 
    <fb:like send="true" width="450" show_faces="true"></fb:like> 

“发送”按钮,工作正常,如果我访问通过IP地址申请,但如果我使用域名,Facebook返回

The page at http://<...>.com:8080/pages/question.jsf could not be reached because the server returned status code 401. 

与此同时“喜欢”按钮正常工作。应用程序前端由JSF2 + Primefaces构建。

任何想法,将不胜感激 感谢

编辑:我发现,“发送”按钮没有工作时,应用程序部署在8080端口上。一旦我改变了AS端口标准的第一件事一个(80),这个问题几乎从所有的页面中消失了,只有一个。最奇怪的是,该按钮不会在页面上工作,但一旦我把这种exectly页面的参数,如以下

http://{some_url}.com?param_id=sometexthere 

按钮奇迹般地开始工作。如果我只是打电话

http://{some_url}.com 

'发送'按钮显示401错误。在所有其他页面上,按钮正常工作。

请任何人都传播一些光。谢谢

回答

1

好的。所有这些都很奇怪。

我第一次遇到这个问题时,我只是将应用服务器(AS)端口从8080更改为80.这解决了这个问题。后来才知道它只是部分。该错误在一页上持续存在。我尝试了所有能够成像的东西,包括全面清理应用程序服务器的工作目录。没有任何结果。最终解决问题的是干净的AS实例。不幸的是,我不知道到底发生了什么。最好的猜测是,在应用程序从封闭赌注增长到授权已经关闭之后,由于某种原因,主页面并未应用此更改。它堆叠了一些在AS缓存中的地方,甚至剩下我所有的临时文件。

的,因为我是期运用V3.1.2的GlassFish

希望,这能救一个人一天或两天风车

挣扎