AngularJS发布请求发送选项请求,但我考虑过服务器端头

时间:2017-12-04 08:26:24

标签: python angularjs httprequest

这是我的angularJs请求:

url = root + "/products";
$http.post(url, params)
 .then(function(response) {
         console.log('Successfull...');
});

这是我在python tornado中的服务器端头:

self.set_header("Access-Control-Allow-Origin", "*")
self.set_header("Access-Control-Allow-Headers", "x-requested-with")
self.set_header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE")

这是我的选择方法:

def options(self, *args, **kwargs):
    self.set_status(204)
    self.finish()

为什么angularJS只发送一个选项请求而没有发布请求?

1 个答案:

答案 0 :(得分:0)

我相信你的问题与this问题

有关
  

在服务器端,我的web方法是在HTTP响应中添加“Access-Control-Allow-Origin:*”。我现在可以看到响应包含此标题。我的问题是:我如何“预检”一个请求(OPTIONS)?我正在使用jQuery.getJSON来发出GET请求,但是浏览器会立即取消臭名昭着的请求:

当您发出与CORS相关的http请求时,请先请求进行OPTION调用。