簡體   English   中英

在AngularJS中獲取CORS錯誤

[英]Getting CORS error in AngularJS

我正在嘗試使用基於https的API,該API在POSTMAN和其他REST客戶端中可以成功運行,但是在我的AngularJS應用中卻不能。

以下是代碼-

var req = {
    method: 'POST',
    url: 'https://agXXXXX.com/api/contact/',
    headers: {
        'Content-Type': undefined
    },
    data: user,
    withCredentials: true
};
$http(req)
    .then(function(data){
        console.log("--Data--");
        console.log(data);
    })

在閱讀了幾篇有關CORS的堆棧相關文章之后,我也將其包含在.config() ,但是沒有運氣-

$httpProvider.defaults.useXDomain = true;
$httpProvider.defaults.headers.common = {Accept: "application/json, text/plain, */*"};
$httpProvider.defaults.headers.post = {"Content-Type": "application/json;charset=utf-8"};

以下是我面臨的錯誤-

Cors錯誤

讓我知道我做錯了什么,或者這里想念什么。

如果您只需要測試您的應用,則可以使用以下chrome插件:

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi

但是,如果您在生產中需要此服務器,則需要配置服務器。 如果您使用的是SPRING:

HttpServletResponse response = (HttpServletResponse) res;
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST,PUT, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Headers", "Authorization,Content-Type");
        chain.doFilter(req, res);

您應該添加服務器代碼標頭以啟用cors。

在此站點中,您可以閱讀有關它的信息,並獲取實現它的代碼,具體取決於您后端的語言:

http://enable-cors.org/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM