【问题标题】:Cant publish via PUBNUB. Origin is not allowed by Access-Control-Allow-Origin无法通过 PUBNUB 发布。 Access-Control-Allow-Origin 不允许来源
【发布时间】:2016-01-07 02:51:36
【问题描述】:

使用 javascript API 制作。在他们的网站上工作正常,但本地无法发送跨域请求。问题出在哪里?

请求是 XMLHttpRequest 无法加载

http://pubsub.pubnub.com/publish/KEY//0/broadcast/0/%224444444444444%22.

Access-Control-Allow-Origin 不允许Origin localhost:3000。

【问题讨论】:

  • 顺便说一句,订阅同一个频道效果很好!而且有相同的跨域get-request
  • 嗨 SAHbKA!现在看你的帖子,很快就会给你更新。
  • 解决方案是从 PubNub 设置中删除 origin="" 属性。我正在为您写下面的更多详细信息。
  • 抱歉,我应该在哪里删除此设置?

标签: javascript cross-domain pubnub


【解决方案1】:

到处使用 PubNub!甚至 localhost 和 file:///

localhost 上使用 PubNub 非常简单!您甚至可以在 file:/// 上使用 PubNub。

注意:always use a fixed versioned CDN in production,但 pubnub-dev.js cdn 始终是最新版本,未缩小。

<script src=https://cdn.pubnub.com/pubnub-dev.js></script>
<script>(function(){

    var pubnub = PUBNUB({
        // use your own pub/sub keys - demo keys are throttled
        publish_key   : 'demo',
        subscribe_key : 'demo',
        origin        : 'pubsub.pubnub.com',
        ssl           : true
    });

    pubnub.subscribe({
        channel  : 'my_channel',
        connect  : function() { /* ... CONNECTION SUCCESS ... */ },
        callback : function(message) {
            alert(message);
        }
    });

})();</script>

请记住将所有设置的 origin 设置为 pubsub.pubnub.com

【讨论】:

  • 感谢您的建议,但它没有帮助我的错误是 XMLHttpRequest 无法加载 pubsub.pubnub.com/publish/pub-a118******************//0/broadcast/0/%7B%22sender% 22%3A%22SAnya11%20%20Nikulin%22%2C%22message%22%3A%221111%22%7D。 Access-Control-Allow-Origin 不允许来源127.0.0.1:3000。 [0, "断开连接"]
  • 可能是3.1版本的原因。试过3.3。现在我不能 Init var pubnub = PUBNUB({ publish_key : 'demo', subscribe_key : 'demo', origin : 'pubsub.pubnub.com', ssl : true }); TypeError:对象不是函数
  • 这很奇怪,但在其他开发电脑上一切正常。另外,在隐身页面中工作正常...我的错,感谢您的帮助
  • @Stephen Blum 这是一个非常简单的解决方案。特别是如果您出于任何目的通过浏览器使用 PubNub。谢谢。
猜你喜欢
  • 2013-02-05
  • 2011-10-27
  • 1970-01-01
  • 2012-09-28
相关资源
最近更新 更多