我使用完全ajax化(使用jquery lib)和調用另一個asp.net回調頁獲取/發佈數據到服務器的asp.net頁面。 序列化JSON對象時遇到下面的錯誤我的一些網頁的用戶序列化json對象,同時調用ajax asp.net回調頁面
有一個錯誤反序列化類型...對象類型的 對象...包含無效 UTF8字節
$.ajax({
type: "POST",
async: false,
url: 'AjaxCallbacks.aspx?Action=' + actionCode,
data: {
objectToSerialize: JSON.stringify(obj, null, 2)
},
dataType: "json",
success: function(operationResult) {
//handle success
},
error: function(xhttp, textStatus, errorThrown) {
//handle error
}
});
處理這個我已經添加「contentType」選項...
$.ajax({
type: "POST",
async: false,
url: 'AjaxCallbacks.aspx?Action=' + actionCode,
data: {
objectToSerialize: JSON.stringify(obj, null, 2)
},
contentType: 'application/json; charset=utf-8', //<-- added to deal with deserializing error
dataType: "json",
success: function(operationResult) {
//handle success
},
error: function(xhttp, textStatus, errorThrown) {
//handle error
}
});
但現在我不能讀取這個對象在服務器端,因爲我coul d之前:
string objectJson = Request.Params["objectToSerialize"].ToString();
我得到以下錯誤:「對象引用未設置爲對象的實例」。
任何想法?
可以檢查什麼是post參數傳遞給服務器?也許用Firebug來檢查。 – xandy 2009-07-18 14:43:25