Использование POST в jQuery с ASP.NET MVC

#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);
    });
});