AngularJS - 如何禁用OPTION请求?

red*_*rom 9 javascript options request angularjs

我注意到我的Angular也在每个POST请求之前创建了OPTIONS请求.

我正在使用自定义API服务进行HTTP请求处理.

app.service('ApiService', function ($http) {

/**
 * Process remote POST request to give URL with given params
 * @param {String} url
 * @param {String} POST params
 * @return {JSON}  response from server
 */
this.doHttpRequest = function (type, url, params) {
    return $http({
        method: type,
        url: url,
        data: params,
        timeout: 5000,
        headers: {
            "Content-Type": "application/json",
        }
    });
}

}); 
Run Code Online (Sandbox Code Playgroud)

问题是:

我怎样才能禁用它(配置值放在哪里)?

OPTIONS是否适合某些事情?我认为这就像"2台服务器之间的握手".

角度版本:1.2.15

谢谢你的建议.

Que*_*tin 18

那不是Angular.它是XMLHttpRequest.

复杂的跨源HTTP请求需要飞行前OPTIONS请求,以便浏览器可以查明其他服务器是否将授予Ajax请求的权限.

如果确保您正在进行的Ajax请求很简单,则无法阻止OPTIONS请求.

一个简单的要求:

  • 仅使用GET,HEAD或POST.如果使用POST将数据发送到服务器,则使用HTTP POST请求发送到服务器的数据的Content-Type是application/x-www-form-urlencoded,multipart/form-data或text/plain之一.
  • 不使用HTTP请求设置自定义标头(例如X-Modified等)

除非您希望放弃发送JSON,否则您无法使用简单的请求.