簡體   English   中英

請求的資源上不存在“ Access-Control-Allow-Origin”標頭

[英]No 'Access-Control-Allow-Origin' header is present on the requested resource

首先,我知道已經對此提出了很多問題,但是我確實試圖找出問題所在,但是沒有任何幫助。 我正在使用C#,ASP.NET,Javascript,AJAX,並嘗試使用API​​來獲取一些信息,但是每次都會收到此錯誤。 當我嘗試使用其他API時,效果很好。 API狀態為有效,但每次響應均失敗。

錯誤看起來像: 1

我在配置文件中添加了權限:

  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
    <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
  </customHeaders>

但這對我沒有幫助。 我現在應該怎么辦? 我已經嘗試了好幾個小時,結果還是一樣。

試圖在ajax調用中添加jsonp和crossDomain,但這對我也沒有幫助。

    $.ajax({
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },

        crossDomain : true,
        dataType: 'jsonp',
        url: url + id,
        type: 'GET',
        contentType: 'application/json;',
        success: function (valid) {
            if (valid) {
            } else {
            }
        }
    });
}

謝謝大家的回答。

最好的祝福

如果您使用的是ASP.NET Web Api,請嘗試在http配置中啟用cors。

        public static void Register(HttpConfiguration config)
    {            
        config.EnableCors();
        config.MapHttpAttributeRoutes() .......

我像這樣成功地對此類API進行了ajax調用。

            $.ajax({
            url: url,
            type: 'POST',
            dataType: 'json',
            contentType: 'application/json; charset=utf-8',

還請記住用EnableCors屬性裝飾Api控制器

[EnableCors(origins: "*", headers: "*", methods: "*")]
public class TestController : ApiController
{
    // Controller methods not shown...
}

有關更多信息,請訪問: http : //www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api

暫無
暫無

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

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