2013-05-03 62 views
1

也許我是第N個問這個問題的用戶,但我無法弄清楚。Ajax帖子無法正常工作到外部域名

ajax調用的數據字符串似乎是空的或什麼?要麼我沒有得到有關成功或錯誤功能的任何反饋。

$.ajax({ 
    type:'POST', 
    url:'http://www.example.com/test.php', 
    data:'lid=test', 
    succes: function(data){ 
    console.log(data); 
    }, 
    error:function(data){ 
    console.log(data); 
    } 
}); 

我希望有人能幫助我嗎?

親切的問候,

弗蘭克

回答

4

有沒有succes功能。你的意思可能是success

2

試試這個

$.ajax({ 
     type:'POST', 
     url:'http://www.example.com/test.php', 
     crossDomain: true, 
     data:'lid=test', 
     success: function(data){ 
      console.log(data); 
     }, 
     error:function(data){ 
      console.log(data); 
     } 
    }); 
+0

如果服務器也正在發送正確的頭它只會工作。 – NilsH 2013-05-03 10:41:41

0

服務器的WWW。 example.com應該有cross-domain.xml,它將包含允許請求和獲得響應的域名。因此,請添加您請求的域名或將doamin名稱添加爲'*'以接受所有的維生素

+0

就我所知,這就是Flash的具體內容。 – NilsH 2013-05-03 10:41:09

1

您被瀏覽器「相同來源策略」阻止。也就是說,你不能對除腳本加載的域以外的其他域執行Ajax請求。但是,有一些解決方法:

  1. 使用JSONP。這可能是最符合跨瀏覽器兼容的解決方案
  2. 配置您的應用程序以支持CORS。這適用於大多數現代瀏覽器,但不適用於某些較舊的瀏覽器。
  3. 在您自己的服務器上創建代理服務。即,安裝一個端點,例如, /externalService將服務器端的請求代理到遠程端點。它也適用於所有瀏覽器,但會涉及更多的服務器端工作。