Вот забавная ситуация, в которой я нахожусь. Я разрабатываю веб-сайт ASP.Net с использованием VS 2008 и .Net Framework 3.5, и я хочу использовать jquery ajax на тестовой странице, код выглядит следующим образом:
C# Method
[WebMethod]
public static string test()
{
return "Server Response" ;
}
$(document).ready(function() {
$("#myDiv").click(function() {
$.ajax({
type: "POST",
url: "AjaxTest.aspx/test",
data: "",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function(msg) {
// Replace the div's content with the page
// method's return.
alert(msg.d);
},
error: function(result){
alert("error occured. Status:" + result.status
+ ' --Status Text:' + result.statusText
+ " --Error Result:" + result);
}
});
});
});
Итак, когда я использую Jquery 1.4.4, вот так:
Я получаю: Status 200; Status Text: OK
Когда я использую Jquery 1.5, я получаю: Status 200; Status Text: Parsererror
Итак, я создал новый веб-сайт в Visual Studio, скопировал и перенес туда код, и он отлично работает !!!!Я не могу понять, что вызывает проблему.Также я использовал методы с параметром и настройкой данных: "{}"
и полное удаление данных, но, похоже, ничего не работает.
Я не знаю, нужно ли что-то делать с компонентами DevExpress, которые я 'Я использую или нет.
Я также нашел хороший ответ, который работал с полным методом, подобным этому:
complete: function(xhr, status) {
if (status === 'error' || !xhr.responseText) {
alert("Error");
}
else {
var data = xhr.responseText;
alert(data);
//...
}
}
Но я не знаю, будет ли он работать нормально или могут быть какие-то другие проблемы с этимметод тоже.Я также не знаю, как получить доступ к данным ответа отсюда.Но моя главная задача - выяснить, что является причиной проблемы на моем веб-сайте.
ОБНОВЛЕНИЕ: Хорошо, сегодня в консоли Google Chrome я заметил некоторые проблемы с синтаксисом в JQuery 1.5. Они перечислены ниже:
UncaughtСинтаксическая ошибка: неожиданный токен1024 *