我已经为 NodeJS 使用 ExpressJS 编写了一个 RESTful API。我正在使用 BackboneJS 来调用这个 API。
这是我的 API 通过 OPTIONS 返回的示例标头:
Access-Control-Allow-Headers:Content-Type
Access-Control-Allow-Origin:http://localhost
Allow:GET,PUT,DELETE
Connection:keep-alive
Content-Length:14
Content-Type:text/html; charset=utf-8
Date:Sun, 19 Aug 2012 13:52:35 GMT
X-Powered-By:Express
我已经修改了标题以包含首先出现的两个 Access-Control-Allow 字段。其余部分由 express 自动生成,包括 Allow 字段。我能够毫无问题地获得。但是,当我尝试使用 BackboneJS 进行 PUT 或 DELETE 时,我遇到:
Method PUT is not allowed by Access-Control-Allow-Methods.
Method DELETE is not allowed by Access-Control-Allow-Methods.
当然,我可以修改我的响应标头以包含这两种方法来解决这个问题。
但我希望了解这些与 ExpressJS 根据我绑定到路由的内容自动添加的基本“允许”之间的区别。有什么区别?