2011-11-08 147 views
2

我在做一個使用jquery的表單的簡單貼子。問題是$ .ajax與POST正在工作,但$ .post不是。看看下面的代碼:

$.post(
     { 
      url: url, 
      data: form.serialize(), 
      success: function (result) { 
       alert('startline posted'); 
      }     
     }); 

而且工作版

  $.ajax(
     { 
      url: url, 
      type: "POST", 
      data: form.serialize(), 
      success: function (result) { 
       alert('startline posted'); 
      }, 
      error: function (jqXhr, textStatus, errorThrown) { 
       alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')"); 
      } 
     }); 

被調試.post的$例如,直到我只是想嘗試一下$就版,即可獲得一個錯誤味精。但不幸的是它只是工作:)

這兩種方法有什麼不同?

+2

在你的調試在那裏每個方法創建的請求之間的區別嗎?通過FireBug中的Net標籤查看請求可能會顯示更多信息。 – David

+2

http://api.jquery.com/jQuery.post/ – PeeHaa

回答

2

jQuery.post的參數格式是url, data, callback, datatype。您正在使用的jQuery.ajax的參數爲url, optionsoptions。換句話說,你的$.post調用的格式不正確。

+0

謝謝,我怎麼會錯過。你解釋爲什麼會得到答案。 –

0

這不是你如何使用$.post

$.post('url/here.php', { 

    data: form.serialize() 
}, function(result) { 

    alert('startline posted'); 
}); 
1

$.post需要多個參數,而不是一個對象像$.ajax。試着這樣說:

$.post(url, form.serialize(), function (result) { 
       alert('startline posted'); 
      });  
2
$.post(url, form.serialize()) 
    .success(function (result) { 
       alert('startline posted'); 
}); 

嘗試