И после редактирования я просто должен сказать "Вау!" Очень подробный и информативный ответ. Хотел бы я дать вам пару дополнительных голосов;)
вертирую существующее приложение ASP.NET в MVC2, и у меня есть существующий метод, который вызывается через jQuery с использованием Ajax, который работал раньше, но сейчас не работает. Так что, кажется, есть некоторые изменения, которые мне нужно сделать из-за использования MVC2, которые я не могу понять.
Я уменьшил сложность кода, но он все еще не работает. Это мой текущий код:
JQuery скрипт, который срабатывает при нажатии кнопки
function leaveComment() {
if (validate()) {
$.ajax({
type: "POST",
url: "/Pages/PostBlogComment",
data: "{'name':'Test','url':'Test','email':'Test','body':'Test','postid':'Test'}",
dataType: "json",
success: function (msg) {
//success code goes here
},
error: function (msg) {
//error code goes here
}
});
}
};
Внутри моего контроллера с именем Pages я создал следующий метод:
public string PostBlogComment( string name, string url, string email, string body, string postid)
{
return "This is a test";
}
При отладке я вижу, что вызывается метод PostBlogComment, но здесь я сталкиваюсь с двумя основными проблемами:
Все аргументы метода получены как нулевые, поэтому у меня нет полезных данных для работы. Для тестирования сейчас все аргументы отправляются какTest
как вы можете видеть из кода.При возврате результата в метод Ajax вызывается путь ошибки, а не путь успеха, даже если метод возвращал строку как обычно (даже если отправленные параметры были пустыми)Вероятно, ошибку легко обнаружить тем, кто регулярно работает с этими вещами (или, по крайней мере, я на это надеюсь :))