http头中的origin键始终为null - 与CORS相关

Nic*_*.Xu 2 node.js cors express

  1. 我正在express.js中的localhost上开发一个ajax表单更新,用于学习express.js
  2. 对于CORS请求,浏览器总是将标题中的原点设置为null(尝试过:firefox,chrome和safari)

问题:1.请求头中的"Origin:null"不是express.js的问题.它是否正确?

  1. 为什么他们(是浏览器吗?)将Origin设置为null?我认为应该看起来像这样:"localhost:3000/myproject/test/form.html"

  2. 在localhost上调用ajax之前,我应该使用jquery($ .ajax()或$ .ajaxSetup())来设置原点吗?

  3. 如何使标题中的原点反映真实情况?

这是截图:[...截图现已消失......]

我阅读了以下关于CORS的文章.标头中的原点为null,没有解释.请帮忙.

http://www.html5rocks.com/en/tutorials/cors/

"首先要注意的是,有效的CORS请求始终包含Origin标头.此Origin标头由浏览器添加,不能由用户控制."

如何允许CORS?

mon*_*sur 5

Origin头是null因为你正在从本地文件的CORS请求(我敢打赌,网址与文件://开头).为了获得"正常"原点,您需要在Web服务器上托管客户端文件并使用http或https访问该文件.

另请注意,Origin值由浏览器设置,不能被客户端JavaScript代码覆盖.

(PS我写了HTML Rocks文章,我会做一个注释,添加一个关于null Origin的部分)