Доброго времени суток. Проблема в том что в приложение не передаются данные из скрипта на js, вот код скрипта:
$.ajax({
type: 'POST',
url: 'Home/MessageHandler',
data: "Test msg",
success: function (data) {
if (data == true) {
alert("Сообщение доставлено");
location.reload();
}
else {
alert("Внимание! Сообщение не доставлено!");
}
},
error: function () {
alert("Произошел сбой");
}
});
При запуске он переходит в ветку alert("Внимание! Сообщение не доставлено!");
Вот код контроллера который должен обработать сообщение:
[HttpPost]
public JsonResult MessageHandler(string data)
{
Debug.WriteLine($"\n\nMessageHandler data: {data}\n\n");
string result = "Сообщение " + data;
return Json(result);
}
В чем может быть проблема?
Решил пробелму переписав контроллер так:
public Object MessageHandler()
{
StreamReader sr = new StreamReader(Request.Body);
string data = sr.ReadToEnd();
string result = "Сообщение " + data;
return result;
}
Скрипт:
$.ajax({
type: 'POST',
url: 'Home/MessageHandler',
data: "Test msg данные тут",
success: function (data) {
console.log(data)
},
error: function () {
alert("Произошел сбой");
}
});
Все работает но я не уверен что все сделал верно.
Для отладки лучше пользоваться консолью (console.log() например). Через алерт объекты не просмотришь, только строчные или приводящиеся к строчному виду данные (у объекта редко кто .toString() расписывает). А вот через консоль можно прогнать почти любой объект.
Касательно твоего вопроса. Проверяем в консольке:
-> "string response" == true
<- false
Ну что тут поделать, строка не равна
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости