好奇,如果有人知道與數據參數有什麼不同。
我有一個$.post
方法需要一個$('#myform').serialize()
作爲我的數據參數和工作。
如果我使用$.ajax()
方法嘗試相同,它不起作用,因爲我的數據參數看起來不正確。
有沒有人知道區別,我可以用什麼來代替上述.serialize
?
好奇,如果有人知道與數據參數有什麼不同。
我有一個$.post
方法需要一個$('#myform').serialize()
作爲我的數據參數和工作。
如果我使用$.ajax()
方法嘗試相同,它不起作用,因爲我的數據參數看起來不正確。
有沒有人知道區別,我可以用什麼來代替上述.serialize
?
重新閱讀一些在線文檔後,我決定堅持使用$ .post over $ .ajax。
$ .ajax方法的數據參數與$ .post方法不一樣,不確定究竟是什麼,但是有區別。
我想要使用$ .ajax的唯一原因是我想能夠處理事件,並沒有意識到我可以用$ .post來實現。
這裏是我結束了
function GetSearchItems() {
var url = '@Url.Action("GetShopSearchResults", "Shop", New With {.area = "Shop"})';
var data = $("#ShopPane").serialize();
// Clear container
$('#shopResultsContainer').html('');
// Retrieve data from action method
var jqxhr = $.post(url, data);
// Handle results
jqxhr.success(function (result) {
//alert("ajax success");
$('#shopResultsContainer').html(result.ViewMarkup);
});
jqxhr.error(function() {
//alert("ajax error");
});
jqxhr.complete(function() {
//alert("ajax complete");
});
// Show results container
$("#shopResultsContainer").slideDown('slow');
}
此信息對您有所幫助。
總之以下:
$.post("/ajax", {"data" : json })
等同於:
$.ajax({
type: "POST",
url: "/ajax",
data: {"data": json}
});
這裏的問題是不是事實$.ajax()
不工作,那是因爲你沒有設置Ajax請求中的類型參數,它默認爲GET請求。數據通過查詢字符串發送以獲取,如果您的後端將它們視爲後期參數,則不會讀取它們。
$.post
只是$.ajax()
,只是type
集。閱讀docs,您將看到$.ajax()
默認爲GET,如上所述。
如果您轉到jQuery文檔中的jQuery.post頁面,它會向您顯示具有類型集的$ .ajax請求。再次閱讀文檔。
您是否將此指定爲數據參數。 $.post
只是$.ajax
的縮寫,期望以下內容。
$.ajax({
type : 'POST',
url : url,
data : data,
success : success,
dataType : dataType
});
在$.ajax
你能夠同步,但它是不可能在$.post
功能。同步意味着你可以得到返回的結果。
var tmp;
$.ajax({
'async': false,
'type': "POST",
'global': false,
'dataType': 'html',
'url': "Your Url",
'data': {'type': 'data'},
'success': function (data) {
tmp = data;
}
});
alert(tmp);
只是作爲補充,在接受的答案,這是mentionned說:「的$就法的數據PARAM做一些事情比$不同。POST方法呢,不知道究竟是什麼,但有一個區別「
請嘗試使用:
{
...
data: JSON.stringify(yourJsonData),
...
}
否則JSON對象獲取的插入有效載荷爲URL編碼的字符串
類似http://stackoverflow.com/questions/7528757/post-vs-ajax – Techie
RTFM - http://api.jquery.com/jQuery.post/ –