我在路過一個JavaScript對象的webmethod在asp.net的問題。從jQuery的AJAX傳遞JavaScript對象,以網絡方法自定義序列
JavaScript對象是:
var Materials = new Object();
function() {
Materials.MaterialName = $('[id*="txtMaterialName"]').val();
Materials.QuantityType = $('[id*="txtquantity"]').val();
AddNewMaterialToDb(Materials);
$(this).dialog('close');
}
這裏的材料爲對象,現在我想將它傳遞給這需要類型的參數的web方法。
現在我有兩個選項:
- 要麼定義的webmethod採取MaterialEntity類的參數,它會自動理解從AJAX方法
- 通過JSON字符串創建將WebMethod拿JSON字符串並序列化爲MaterialEntity類
如何在使用jQuery AJAX時做到這一點?
我的意思是使任何上述兩個條件得到滿足的是具體的,我應該如何傳遞jQuery對象作爲jQuery的AJAX數據?
功能的jQuery AJAX:
function AddNewMaterialToDb(materials) {
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: 'Services/Service.asmx/AddNewMaterial',
data :'{"Materials":"' + JSON.stringify(materials).replace('"', '\\\"') + '"}',
dataType: "json",
success: function(data, textStatus) {
if (textStatus == "success") {
if (data.d == true) {
alert('New Item Added');
}
}
},
error: function(data, textStatus) {
alert('An error has occured retrieving data!');
}
});
}
也許你無法通過JS對象。 – 2011-04-17 04:58:56
@experimentX我知道......我其實是,如果我可以將其轉換成JSON.stringify方法的JSON格式。然後通過它..但不知何故,我得到錯誤。我已經使用了代碼,請檢查 – Joy 2011-04-17 05:03:05
看看我已經編輯到下面 – 2011-04-18 12:56:57