2011-10-24 126 views
0

我只是無法從jquery.get()函數獲得結果,並且無法找出原因。jquery.get() - 無法獲得結果

下面的代碼:

$('#some_button').live('click', function (e){ 
    var nr="some_number"; 
    var id="some_id"; 
    $.get('http://www.somelink.com',{PAGE_ID: id, nr: nr}, function(data) { 
    alert(data); 
    }); 
}); 

所以,當我按一下按鈕,HTTP請求被髮送,10秒鐘後,我感到我需要用HTTP 200 OK(我使用Wireshark的)答覆和結果,但是數據不會被回報給瀏覽器。

任何想法爲什麼?

BR, 紐曼

+2

這是跨域請求嗎? – TommyBs

+0

您是否試圖從該「」獲取數據,或者您是否試圖從該鏈接的頁面獲取信息? – Felix

+0

另請參閱http://stackoverflow.com/q/752319/901048 – Blazemonger

回答

3

你似乎是使用$.get獲得從不同的域,這是所有可敬的瀏覽器禁止的信息。您只能在同域請求上使用$.get

+0

哦,我完全忘了這個!或者我應該說,我認爲這與jquery get():)一起工作那麼任何想法如何繞過這個? – ZeZe

+0

獲取跨域數據的唯一方法是使用JSONP - http://api.jquery.com/jQuery.getJSON/#jsonp - 並使用非常特殊的格式。 – Blazemonger

+0

您也可以使用服務器端腳本來擦除其他域,並用'$ .get'代替它:http://phpfour.com/blog/2008/03/cross-domain-ajax-using-php/ – Blazemonger

0

原因可能不是你的期望,假設你試圖從一個不同的域請求一些東西,然後腳本運行的地方。您的瀏覽器將導致Cross Domain錯誤。

您可以在您自己的服務器上使用jsonp或interperatate請求。

This (Cross Domain AJAX Querying with jQuery)可能會幫助