Я использую страницу asp.net, которая полностью ajaxified (с jquery lib), и вызываю другую страницу обратного вызова asp.net для получения / публикации данных на сервере.
Некоторые пользователи моей страницы испытывают следующую ошибку при сериализации объекта json
произошла ошибка десериализации
объект типа ... тип объекта ... содержит недопустимый
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
}
});
но теперь я не могу прочитать этот объект на стороне сервера, как раньше:
string objectJson = Request.Params["objectToSerialize"].ToString();
Я получил следующую ошибку: «Ссылка на объект не установлена на экземпляр объекта.»
Есть идеи?