Javascript API在主站点上运行正常,但无法在外部服务器上运行

此代码可与jQuery结合使用,在页面上嵌入一个按钮,允许用户共享指向我站点的链接。

javascript文件必须使用xmlHTTPrequest连接php文件来检查你是否登录,然后在我的网站上发表评论。 它非常简单,因为您只需单击它创建的按钮即可。 或不。
好吧,它可以在http://mainserver.co.uk上的任何页面上正常工作,但在我的外部服务器上,它只显示控制台错误,如

 XMLHttpRequest cannot load filename. Origin http://externalserver.com is not allowed by Access-Control-Allow-Origin. 

嗯,我知道这一定是可能的,因为twitter,google和facebook都可以做到,所以为什么我不能呢?
编辑
好,谢谢。 但这仍然是一个问题。
用户在mainsite上有会话,告诉网页他们已登录。
使用这段代码,我可以测试一下。

  

当我登录并运行此代码时,它在主站点上返回0,但在外部站点上返回1,就好像我只在主站点上测试时登录

Access-Control-Allow-Origin不允许使用Origin http://externalserver.com

  • 它是一个跨域的ajax问题(阅读更多: 同源策略 , 跨域请求 )

如果您的JavaScript在example.com上运行,而您请求的服务器位于example.net中。 确保它允许此标头运行您的js页面

   

要么

   

(通配符将允许任何域向您的主机发送请求。我建议使用您将运行脚本的特定域替换星号)

您还需要将来自ajax的Origin标头发送到服务器

 Origin: http://example.com/ajax.html 

XMLHttpRequest无法加载文件名。

  • 是因为你没有在你的ajax请求中指定完整的URL。 但它适用于您的主服务器,因为您在同一个域中运行php。