Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将Node.js与Cappuccino一起使用?_Javascript_Node.js_Same Origin Policy_Cappuccino - Fatal编程技术网

Javascript 如何将Node.js与Cappuccino一起使用?

Javascript 如何将Node.js与Cappuccino一起使用?,javascript,node.js,same-origin-policy,cappuccino,Javascript,Node.js,Same Origin Policy,Cappuccino,我希望在中实现一个使用Node.js作为服务器的客户端应用程序 我当前已使节点与以下设备一起运行: 可通过以下方式验证: $ node hello_echo.js $ curl http://127.0.0.1:1337/an_endpoint > Hello From Node Express! 就客户端代码而言,它是一个简单的小应用程序,单击按钮时会执行此操作: // in did finish launching [button setTitle:"Ping Node"]; [bu

我希望在中实现一个使用Node.js作为服务器的客户端应用程序

我当前已使节点与以下设备一起运行:

可通过以下方式验证:

$ node hello_echo.js
$ curl http://127.0.0.1:1337/an_endpoint
> Hello From Node Express!
就客户端代码而言,它是一个简单的小应用程序,单击按钮时会执行此操作:

// in did finish launching
[button setTitle:"Ping Node"];
[button setTarget:self];
[button setAction:@selector(doPing:)];

- (void)doPing:(id)sender
{
    var connection = [CPURLConnection connectionWithRequest:[CPURLRequest requestWithURL:'http://127.0.0.1:1337/an_endpoint/'] delegate:self];
}

- (void)connection:(CPURLConnection) connection didReceiveData:(CPString)data
{
    alert('Node Says: ' + data);
}

- (void)connection:(CPURLConnection)connection didFailWithError:(CPString)error
{
    alert('Error: ' + error);
}
当我加载应用程序时(从
http://127.0.0.1:8080/NewApplication/index.html
)然后单击Google Chrome中的按钮,在OS X上,我在控制台中看到以下错误,第一个是由于后者引起的:

OPTIONS http://127.0.0.1:1337/an_endpoint/ 404 (Not Found) Objective-J.js:716
        XMLHttpRequest cannot load http://127.0.0.1:1337/an_endpoint/. 
Origin http://127.0.0.1:8080 is not allowed by Access-Control-Allow-Origin.
很明显,这是因为我的节点服务器位于:1337,而我的卡布奇诺应用程序位于:8080,由于端口部分的原因,这两个域在技术上是不同的

我做了一点研究后发了一篇博文,其中建议考虑使用JSONP将远程脚本注入到应用程序中。听起来很乱,所以如果没有必要,我不想走那条路


所以,我的问题是,如何让Cappuccino和Node.js协调工作?似乎如果我能告诉卡布奇诺应用程序使用这个(
标题(“Access Control Allow Origin”、“*”);
)标题,一切都会很好,但我不确定如何做到这一点。我尝试让Node发送该头,但它似乎没有任何作用。

您应该使用Node为Cappuccino应用程序提供服务,使其位于同一端口上

我该怎么做?现在它正在使用一些Jack和Jill的东西。Jack是一个开发服务器,类似于Rack。在Chrome的本地开发中,它只被用于通过可怕的同源政策。您使用node/express提供卡布奇诺应用程序的方式与提供任何静态文件的方式相同。
OPTIONS http://127.0.0.1:1337/an_endpoint/ 404 (Not Found) Objective-J.js:716
        XMLHttpRequest cannot load http://127.0.0.1:1337/an_endpoint/. 
Origin http://127.0.0.1:8080 is not allowed by Access-Control-Allow-Origin.