2016-12-21 30 views
1

我創建了MVC中的WebAPI,該代碼工作正常我嘗試使用該方法在MVC的另一個項目中獲取方法使用jQuery函數調用當我打電話的方法正在錯誤是在另一個MVC項目中使用WebAPI獲取錯誤是不允許的來源'http:// localhost:3038'

起源 'http://localhost:3038' 是不允許的

jQuery代碼

$(document).ready(function() { 
$.ajax({ 
    type: "GET", 
    url: "http://localhost:63540/api/emp", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (data) { 

     for (var i = 0; i < data.d.length; i++) { 
      $("#tbDetails").append("<tr><td>" + data.d[i].E_id + "</td><td>" + data.d[i].E_name + "</td><td>" + data.d[i].Designation + "</td><td>" + data.d[i].DepartmentName + "</td><td>" + data.d[i].E_doj + "</td><td>" + data.d[i].EmpType + "</td></tr>"); 
     } 
    }, 
    error: function (result) { 
     alert("Error"); 
    } 
}); 
}); 

我已經爲WebAPI啓用了cors Like WebApiConfig.cs文件添加了config.EnableCors();

並在API我加入

[EnableCors(來源: 「http://localhost:63540」,標題: 「」,方法: 「」)

即使我啓用了CORS在API我得到的錯誤,如何可以解決這個問題嗎?, 謝謝。

+0

不需要它:'[EnableCors(origin:「http:// localhost:63540」,headers:「*」,methods:「*」)]' ? –

+0

好吧我會嘗試刪除此... – Raviteja

+0

我得到的解決方案我已經添加了astrik而不是本地主機在起源,但它是調用兩次我打電話一次只有第一次沒有數據來第二次數據即將到來輸出不顯示如何解決此問題... – Raviteja

回答

1

試試這個:添加到Global.asax.cs中文件 「的Application_BeginRequest」 方法

HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); 
if (HttpContext.Current.Request.HttpMethod == "OPTIONS") 
{ 
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET");// or POST, PUT and etc.. 
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept"); 
    HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000"); 
    HttpContext.Current.Response.End(); 
} 
0

[EnableCors(來源: 「*」,標題: 「」 方法 「」)] 我有改變起源爲astrik,所以它正在工作...

相關問題