2012-03-06 141 views
2

當我點擊以下形式的提交按鈕時,我的jQuery GET函數被調用,但回調不是。有任何想法嗎?爲什麼這個AJAX回調沒有被調用?

<body> 
<form id="searchbox"> 
    <input type="text" name="q" size="60" value="Search ..." /> 
    <input type="submit" value="Find it!"> 
</form> 
<div id="result"><div> 
<script> 
    $("#searchbox").submit(function(event) { 
event.preventDefault() 
    $.get("http://localhost:8080/more/stuff/here", 
    function(data) { 
     alert(data); 
    } 
); 
}); 

</script> 
+2

你的html頁面是否也位於'http:// localhost:8080'?否則,同源政策就是其原因。 – ThiefMaster 2012-03-06 11:41:43

+0

嘗試在Firefox中使用Fiddler或Firebug來查看請求返回的結果。 – Alex 2012-03-06 11:42:14

回答

2

您在$.get調用頁面必須屬於同一個原點(已經已經提到這裏)。而且,回調函數僅在成功時被調用。這意味着如果你打電話給一個頁面並且你是未經授權的(401),或者找不到該頁面(404),則不會調用回調函數。

1

它可能依賴於同源策略,並最終在服務器端頁面錯誤...

相關問題