Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS中的CORS错误_Javascript_Angularjs_Cross Domain_Cross Platform_Cors - Fatal编程技术网

Javascript AngularJS中的CORS错误

Javascript AngularJS中的CORS错误,javascript,angularjs,cross-domain,cross-platform,cors,Javascript,Angularjs,Cross Domain,Cross Platform,Cors,当我使用Fiddler或任何浏览器端HTTP客户端扩展(如高级Rest客户端)时,我可以轻松地从API获取数据。 但当我尝试使用Angular JS中的相同API时,CORS问题立即出现。我尝试用以下几行代码来解决AngularJS中的问题,但不幸的是,它没有起作用 appd.config(function ($httpProvider) { // $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-ww

当我使用Fiddler或任何浏览器端HTTP客户端扩展(如高级Rest客户端)时,我可以轻松地从API获取数据。 但当我尝试使用Angular JS中的相同API时,CORS问题立即出现。我尝试用以下几行代码来解决AngularJS中的问题,但不幸的是,它没有起作用

appd.config(function ($httpProvider) {
  //  $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
    // $httpProvider.defaults.headers.post['Accept'] = '*/*'
    $httpProvider.defaults.useXDomain = true;
    $httpProvider.defaults.withCredentials = true;
    delete $httpProvider.defaults.headers.common["X-Requested-With"];
    $httpProvider.defaults.headers.common["Accept"] = "*/*";
    $httpProvider.defaults.headers.common["Content-Type"] = "application/x-www-form-urlencoded";
    $httpProvider.defaults.headers.common['Authorization'] = 'Basic encodedpassword=';
}); 
我在mozilla中遇到以下错误:

已阻止跨源请求:

The Same Origin Policy disallows reading the remote resource at http://host/training_webapi. This can be fixed by moving the resource to the same domain or enabling CORS.
以下为铬合金:

 XMLHttpRequest cannot load http://host/training_webapi The request was redirected to 'http:host/training_webapi/', which is disallowed for cross-origin requests that require preflight.

您请求的服务不允许CORS。响应中未发送访问控制。 您需要将标头访问控制Allow Origin:*作为响应的一部分,但它没有

请参见:

您可能可以使用

工作

由于您不拥有服务器,另一种选择是代理服务器上的请求,并使用angular访问该URI

还有一点,在您的代码中,内容标题设置为form:

$httpProvider.defaults.headers.common["Content-Type"] = "application/x-www-form-urlencoded";
您的请求应该是预期的

content-type: application/json

嗨,谢谢你的回答。但它与Rest客户机一起工作。提琴手或其他
content-type: application/json