2011-02-09 105 views
0

我無法提交ajax請求。jquery form ajax調用問題

我試着將它設置倒也乾脆只是爲了看看我是否能得到迴應

這裏是我的JS:

$(document).ready(function() { 
     $('#mainform').submit(function() { 
       $.ajax({ 
         type: "POST", 
         url: "processform_ajax.php", 
         data: $(this).serializeArray(), 
         dataType: "json", 
         sucess: function (data) { 
           alert("data" . data); 
           //$("#response").append(data); 
         }, 
         error: function(error, txt) { 
           alert(error.status); 
         } 
       }); 
     }); 
}); 

我的PHP是簡單,就是

<?php 
     $errors = array ('a' => 'TEST!'); 
     echo json_encode($errors); 
?>                                        

當我嘗試用firebug擴展運行時,我看到帖子看起來不錯。 (它不應該在這一點無所謂,因爲我的PHP只是呼應的東西出來)

在響應方面我看到這個錯誤:NS_ERROR_NOT_AVAILABLE

這使我相信它不能找到processform_ajax .php,但是當我嘗試了url中的絕對url:「」選項。我也可以通過瀏覽器的地址欄命中php腳本並獲得json響應

任何線索?

感謝

+0

在firebug中,請確保當您單擊控制檯選項卡上的向下箭頭時,顯示XMLHttpRequests被勾選,您應該獲得ajax調用的URL - 這個URL是否正確? – Scoobler 2011-02-09 01:08:35

回答

1

NS_ERROR_NOT_AVAILABLE看起來像一個Firefox「bug /功能」,它試圖提交兩次電話。

嘗試......在你的代碼中添加return false,像這樣: -

$(document).ready(function() { 
     $('#mainform').submit(function() { 
       $.ajax({ 
        ... 
       }); 

       return false; 
     }); 
}); 

這樣,一旦形式是通過您的JS代碼提交後,return false會阻止你從「提交」按鈕再次提交相同的請求。

+0

這個伎倆。在所有的文檔中,我沒有提到這一點。令人沮喪。 – bonez 2011-02-09 04:31:30

0

sucess一個錯字在你的代碼,或者只是對SO?

+0

我的代碼錯別字,但它不工作不管。回報錯誤做到了。 – bonez 2011-02-09 04:30:52