Я действительно борюсь с этим и буду признателен за любые советы.
У меня есть это поле
<input id="scanInput" type="text" placeholder="SCAN" class="form-control" />
Для которого я хотел бы сделать вызов ajax при изменении поля, поэтому я попытался
<script>
$("#scanInput").change(function () {
console.log('ye');
$.getJSON("?handler=GetPartDetails", function (data) {
//Do something with the data.
console.log('yay?');
}).fail(function (jqxhr, textStatus, error) {
var err = textStatus + ", " + error;
console.log("Request Failed: " + err);
});
});
</script>
Где мой PageModel
имеет этот метод
[HttpPost]
public IActionResult GetPartDetails()
{
return new JsonResult("hello");
}
и URL-адрес рассматриваемой страницы /packing/package/{id}
Теперь, когда я изменяю значение ввода, я вижу на консоли ye
и вижу, что сеть называется http://localhost:7601/Packing/Package/40?handler=GetPartDetails
(правильный URL-адрес, я думаю?) С кодом состояния 200
Но моя точка останова в GetPartDetails
никогда не срабатывает, и я не вижу yay?
в консоли.
Я также вижу это сообщение от обработчика fail
:
Запрос не выполнен: parsererror, SyntaxError: JSON.parse: неожиданный символ в строке 3 столбца 1 данных JSON
Но я даже не передаю данные JSON ... зачем это нужно делать
Я тоже пробовал так:
$.ajax({
type: "POST",
url: "?handler=GetPartDetails",
contentType : "application/json",
dataType: "json"
})
но я получаю
Ошибка синтаксического анализа XML: элемент не найден
Расположение: http://localhost:7601/Packing/Package/40?handler=GetPartDetails
Строка № 1, столбец 1:
я тоже пробовал
$.ajax({
url: '/?handler=Filter',
data: {
data: "input"
},
error: function (ts) { alert(ts.responseText) }
})
.done(function (result) {
console.log('done')
}).fail(function (data) {
console.log('fail')
});
с действием
public JsonResult OnGetFilter(string data)
{
return new JsonResult("result");
}
но здесь я вижу текст результата в консоли, но моя точка останова никогда не срабатывает и нет сетевых ошибок ..............
Что я делаю не так?