#jquery #asp.net-mvc
#jquery #asp.net-mvc
Вопрос:
I сайт находится по следующему URL localhost:xxxx/VnosPrijavnica/Predmeti/123456
, где VnosPrijavnica
это контроллер, Predmeti
это действие в контроллере и 123456
это необязательный параметр (все правильно определено в Global.asax). Сайт загружается нормально, просто когда дело доходит до jQuery $.post()
, я столкнулся с проблемой. Код jQuery выглядит следующим образом:
$("#predmet").change(function () {
$("#predmet option[value='prazen']").hide();
$.post("/VnosPrijavnica/PoisciRoke", $("#kriteriji").serialize(), function (data) {
$("#roki").html(data);
});
});
$.post()
Никогда не выполняется. Я заметил, что если я изменю URL на localhost:xxxx/VnosPrijavnica
, этот фрагмент кода jQuery будет работать так, как задумано. Вопрос в том, что я должен изменить в коде jQuery, чтобы он работал с первым URL так же, как и со вторым?
Комментарии:
1. Попробуйте проверить имена и параметры ваших методов действия. Может быть, второе имя URL, которое работает, имеет правильные параметры метода для приема запроса POST, в отличие от первого, которого нет? Я не думаю, что с точки зрения jQuery есть что-то, что мешает этой работе.
2. Я думаю, что параметры в порядке, как я уже сказал, если я переработаю код и это будет вызываться только с localhost / VnosPrijavnica, все будет работать нормально.
Ответ №1:
Попробуйте что-то вроде этого:
var baseUrl = '<%= ResolveUrl("~/") %>';
$("#predmet").change(function () {
$("#predmet option[value='prazen']").hide();
$.post(baseUrl "/VnosPrijavnica/PoisciRoke", $("#kriteriji").serialize(), function (data) {
$("#roki").html(data);
});
});