2016-10-10 44 views
0

使用WCF REST服務,我一直在關注這個實例一個Cors問題:通過JQuery

Create and Consume WCF Restful Service Using jQuery

我收到以下錯誤:

的XMLHttpRequest無法加載http://localhost:48839/EmployeeService.svc/GetEmployeeDetails/。對預檢請求的響應不會通過訪問控制檢查:請求的資源上不存在「訪問控制 - 允許來源」標頭。因此不允許訪問原產地'http://localhost:57402'。響應有HTTP狀態代碼404

enter image description here

回答

0

圖莎爾@,

快速谷歌搜索給了我這個: Enabling CORS header

您的來電是成功的,你可能有舉辦服務和你的html頁面在同一個域中。您正在通過端口57402從localhost獲取您的html頁面,並且您正試圖訪問端口48839上的serice,因此您會看到此CORS問題。

您必須同時託管服務終點和來自同一個域和端口的html頁面,或者您必須將服務器上的訪問標題列入白名單,如上述鏈接中所述。

+0

謝謝,我也做了同樣的。但我無法弄清楚在哪裏添加標題 –

+1

正如上面的鏈接中提到的,Application_BeginRequest方法將會是一個你可以添加的地方。 – Sreekanth

0

添加Global.asax文件和

protected void Application_BeginRequest(object sender, EventArgs e) 
     { 
      HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); 
      if (HttpContext.Current.Request.HttpMethod == "OPTIONS") 
      { 
       HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "POST, PUT, DELETE"); 

       HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept"); 
       HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000"); 
       HttpContext.Current.Response.End(); 
      } 
     }