2011-05-11 170 views
2

似乎對我來說是一個捱打的主題,但我找不到答案。 =( 我做的jQuery AJAX requst到 本地主機:666從本地主機:555應用Jquery AJAX(json)跨域請求和ASP.NET MVC

$.ajax({ 
      url: "http://localhost:666/request", 
      dataType: 'json', 
      timeout: 5000, 
      success:... 

我已經在Chrome中有:

的XMLHttpRequest無法加載http://localhost:666/request產地http://localhost:555沒有被允許訪問 - 控制允許來源。

有什麼問題的解決?

+0

http://stackoverflow.com/questions/2697557/accessing-web-service-from-jquery-cross-domain – 2011-05-11 18:15:31

回答

-1

ajax調用僅限於父域。該本地主機上一個網站,因爲它們屬於不同的域(或產地)

你需要嘗試JSONP 555:666無法打開到本地主機AJAX連接http://www.google.com/search?q=jsonp

+0

爲什麼投反對票? :-S – seoul 2013-05-15 16:03:07

-2

嘗試使用數據類型:「JSONP」,或$ .getJSON函數。

7

您可以通過創建或者的XMLHttpRequest對象XDomainRequest對象開始在網頁跨域請求。最終用戶的網頁瀏覽器將通過發送「原產地」標題的值來源從域的服務器請求數據。如果服務器以「訪問控制 - 允許來源:* |原產地」作爲響應,則我們被允許訪問數據;否則響應將是未經授權的請求。

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); 

    // HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://AllowedDomain.com"); 
} 

的這裏的文章:Cross-Origin requests and ASP.NET MVC