当前位置: 首页 > 面试题库 >

如何将CORS标头添加到静态连接服务器?

易招
2023-03-14
问题内容

我正在写一些演示Web服务器,提供静态html,css和javascript。服务器看起来像

(function () {
    "use strict";

    var http = require("http");
    var connect = require('connect');
    var app = connect()
        .use(connect.logger('dev'))
        .use(connect.static('home'));

    var server = http.createServer(app);
    server.listen(9999, function () {
        console.log('server is listening');
    });
})();

我的客户端javascript使ajax调用到其他服务器。我该如何添加

Access-Control-Allow-Origin: http://example.com

对我的服务器响应,以便客户端javascript可以进行ajax调用?


问题答案:

自从Express宠坏了我以来,弄清楚这个问题有点麻烦。

看看enable cors。基本上,您需要做的是添加Access-Control-Allow- Origin到要启用cors的域中。response.setHeaders非常适合此任务。

要注意的另一件事是,connect无法处理路由。如果您的应用程序需要使用不同的路由,则可能必须为每个路由编写逻辑,并将res标头添加到要启用cors的标头。您可以使用req.url它。

var http = require("http");
var connect = require('connect');

var app = connect()

    .use(connect.logger('dev'))

    .use(connect.static('home'))

    .use(function(req, res){

    res.setHeader("Access-Control-Allow-Origin", "http://example.com");
    res.end('hello world\n');

 });

var server = http.createServer(app);

server.listen(9999, function () {

    console.log('server is listening');
});

这是我在chrome开发工具中得到的回复

HTTP/1.1 200 OK
Access-Control-Allow-Origin: http://example.com
Date: Sat, 15 Jun 2013 16:01:59 GMT
Connection: keep-alive
Transfer-Encoding: chunked


 类似资料:
  • 问题内容: 我已经开发了一个Restfull应用程序,我想添加另一个Web应用程序来使用其服务,因此我进行了以下Ajax调用: 我得到这个例外: 对象{readyState:0,状态:0,statusText:“ SyntaxError:无法执行’setRequestHeader’…-Origin: ‘不是有效的HTTP标头字段名称。”}错误DOMException:无法在’XMLHttpRequ

  • 问题内容: 我有一些纯HTML的静态页面,当服务器关闭时会显示这些页面。如何将我制作的favicon(它的大小为16x16px,与HTML文件位于同一目录;称为favicon.ico)作为“标签”图标的原样?我已阅读Wikipedia并查看了一些教程,并实现了以下内容: 但是它仍然不想工作。我正在使用Chrome浏览器测试网站。根据Wikipedia所述,.ico是可在所有浏览器类型上运行的最佳图

  • 我使用Sabre DAV在PHP中实现了一个webdav目录,用于我的网站(Application Server Webinterface)。 对于这个网站,我现在使用C#编写了一个TCP套接字,它运行在另一个服务器上(实际上它在同一个数据中心,但从理论上讲,它在另一个半球上)。 我想连接我的网络Dav到我的套接字的FTP服务器,这意味着文件监听,下载,上传。用户只能连接到一个服务。想象一下,我的

  • 问题内容: 我正在尝试访问网站,但无法将收集到的“ Cookie”添加到传出的POST请求标头中。我已经能够验证它们是否存在于CookieManager中。 HtmlUnit的任何替代方法也将不胜感激。 问题答案: 我发现可以使用WebClient中的setadditionalHeader()添加标题。

  • 我有以下代码: 但我得到了这个错误:导致:org.springframework.web.client.RestClientExcture:无法提取响应:没有合适的HttpMessageConzer找到响应类型[类com.xxx.test.YY]和内容类型[应用程序/xml; charset=ISO-8859-1] 如何添加MediaType。应用程序将JSON添加到标头,并将标头添加到restT

  • 问题内容: 我正在尝试向一些Web服务调用中添加一些响应标头。我使用CXF 2.1.2和JAX- RS编写了Web服务。我需要返回一个对象,我还想向Response添加一些标头。 在不返回javax.ws.rs.core.Response对象的情况下 ,如何在响应中添加标头并仍然返回javabean? 问题答案: 您可以通过Web服务中的@Context注释注入对实际HttpServletResp