Javascript 如何使web服务可用于nodejs中的跨域访问?

Javascript 如何使web服务可用于nodejs中的跨域访问?,javascript,node.js,security,web,Javascript,Node.js,Security,Web,我正在构建一个nodejs服务器,需要使用ajax从另一个域访问更多的服务,那么如何打破nodejs代码中的跨域限制呢 注意:像ExpressJS这样的框架不是一个可接受的解决方案一般来说,当跨域限制生效时,您有两种可能的选择 确定您试图与之通话的远程方是否支持。让他们在HTTP头中允许您的域位于其端。有时这是不可能的 设置反向HTTP代理,允许您与远程方通信,但首先要通过web服务器,这样您就可以绕过跨域源安全问题。如果您已经在使用Node.js,这是一个可能的解决方案 CORS通常只在中受支

我正在构建一个nodejs服务器,需要使用ajax从另一个域访问更多的服务,那么如何打破nodejs代码中的跨域限制呢


注意:像ExpressJS这样的框架不是一个可接受的解决方案

一般来说,当跨域限制生效时,您有两种可能的选择

  • 确定您试图与之通话的远程方是否支持。让他们在HTTP头中允许您的域位于其端。有时这是不可能的

  • 设置反向HTTP代理,允许您与远程方通信,但首先要通过web服务器,这样您就可以绕过跨域源安全问题。如果您已经在使用Node.js,这是一个可能的解决方案

  • CORS通常只在中受支持,所以如果您需要支持可能不适合的旧东西

    在jQuery中的注释来自链接资源

    $.support.cors


    如果浏览器支持CORS,则布尔值将设置为true

    您真正需要中断跨域访问的是回调方法。关于它有很多文档。我相信是JSONP。你能在回答中写一个例子吗?结束你的问题。这里有一个完整的答案:@请恕我直言,你的回答是不完整的。JSONP只有在服务器支持的情况下才能工作。一个更好的现代解决方案是CORS。@HazemHagrass您需要通过服务器提供第三方网站的跨域访问吗?如果是这样的话,请看一看。它是一个反向代理,在Node.js中编写的代理请求上启用CORS。