我有一個使用ASP.NET MVC3,AJAX和JQUERY的問題。我有以下功能ASP MVC 3使用AJAX和JQUERY提交網址參數
[HttpPost]
public bool Update(int id, FormCollection collection)
這是我的jQuery來源:
$(document).ready(function() {
$('#btnUpdate').click(function (e) {
// Cancel default action
e.preventDefault();
var formCollection = $('#formId').serialize();
$.ajax({
cache: false,
type: 'POST',
url: '@Url.Action("Action","Controller")',
data: { id: $('#id').val(), collection: formCollection },
success: function (data) {
alert(data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Error during process: \n' + xhr.responseText);
}
});
});
});
成功提交id參數,但集合(的FormCollection)包括帶有{[0]數組:10000, [1]:收集}。我無法解決問題。當我重新設計這樣的解決方案:
[HttpPost]
public bool Update(FormCollection collection)
$(document).ready(function() {
$('#btnUpdate').click(function (e) {
// Cancel default action
e.preventDefault();
$.ajax({
cache: false,
type: 'POST',
url: '@Url.Action("Action", "Controller")',
data: $('#formId').serialize(),
success: function (data) {
alert(data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Error during process: \n' + xhr.responseText);
}
});
});
});
一切工作正常。我在傳遞2參數時做錯了什麼?
THX !!!
這種方式不能獲得'FormCollection'你在這裏傳遞模型類的集合定義。比如'public bool Update(int id,userProfile collection)' – Sender
請確定在IE中檢查了這個[是否支持IE 8的JSON.stringify()?](http://stackoverflow.com/questions/3326893/is-json- stringify-supported-by-ie-8) – Sender