浏览器和脚本之间的区别

时间:2013-06-06 18:01:08

标签: javascript node.js

我有自己用 C 编写的 node.js 。当我打开浏览器并浏览到192.168.0.150:8000/index并调用脚本时:

 var socket = io.connect("/index");

socket.on('connect', function() {
    $('#onindex').addClass('connected');
});

每件事都没问题。 但: 当我尝试:

       var socket = new io.Socket('192.168.0.150', {port: 8000 }); 
       socket.connect("/index.html");

我在Javascript控制台上收到以下错误:

  

XMLHttpRequest无法加载192.168.0.150/index.html:80/socket.io/xhr-polling//... Access-Control-Allow-Origin不允许使用null。

这表明服务器无法找到它。

如何假装JS认为我在浏览?

1 个答案:

答案 0 :(得分:0)

让我们分解您的错误消息

  

XMLHttpRequest

问题在于 XMLHttpRequest (在运行脚本的一边)

  

无法加载192.168.0.150/index.html:80/socket.io/xhr-polling// ...

无法加载页面

  

null不允许{p>来源Access-Control-Allow-Origin

Access-Control-Allow-Origin 设置阻止null的来源

您可以阅读access control here on MDNnull的来源可能来自位于data URI或使用file:协议的网页。这是同源政策的一部分,您可以阅读here。您可能必须在服务器上设置CORS才能使其正常工作。