WedX - журнал о программировании и компьютерных науках

$.post против $.ajax

Я пытаюсь использовать метод $.post для вызова веб-службы, у меня он работает с использованием метода $.ajax:

$.ajax({
    type: "POST",
    url: "StandardBag.aspx/RemoveProductFromStandardBag",
    data: "{'standardBagProductId': '" + standardBagProductId.trim() + "' }",
    success: function(){
                 $((".reload")).click();
             },
    dataType: "json",
    contentType: "application/json"
});

Но когда я переношу тот же метод в метод $.post, он не будет работать:

$.post("StandardBag.aspx/RemoveProductFromStandardBag",
    "{'standardBagProductId': '" + standardBagProductId.trim() + "' }",
    function () { $((".reload")).click(); },
    "json"
);

Что мне не хватает?


Ответы:


1

Это не работает, потому что в вашем методе $.post вы не можете установить тип содержимого запроса на application/json. Таким образом, невозможно вызвать метод PageMethod ASP.NET с помощью $.post, поскольку для метода PageMethod ASP.NET требуется запрос JSON. Вам придется использовать $.ajax.

Я бы просто изменил data, чтобы убедиться, что он правильно закодирован в JSON:

$.ajax({
    type: "POST",
    url: "StandardBag.aspx/RemoveProductFromStandardBag",
    data: JSON.stringify({ standardBagProductId: standardBagProductId.trim() }),
    success: function() {
        $(".reload").click();
    },
    dataType: "json",
    contentType: "application/json"
});
23.09.2011
  • Недавно я столкнулся с точно такой же проблемой, это было правильное решение. 23.09.2011

  • 2

    Это еще один способ сделать это без использования ajax. Он использует post и возвращает объект json.

    data = {};
    data.standardBagProductId = standardBagProductId.trim();
    $.post("StandardBag.aspx/RemoveProductFromStandardBag", data , function(response){
        $(".reload").click();
    },"json");
    
    15.06.2015
  • кратко опишите, что делает код, который вы публикуете. 16.06.2015
  • Вы должны добавить описание к ответу. 16.06.2015

  • 3

    для функции $.post второй параметр не должен быть в "".

    $.post("StandardBag.aspx/RemoveProductFromStandardBag",
        {'standardBagProductId': standardBagProductId.trim() },
        function () { $(".reload").click(); },
        "json"
    );
    
    23.09.2011

    4

    Попробуйте изменить данные своего поста следующим образом:

     {standardBagProductId: standardBagProductId.trim() }
    
    23.09.2011
    Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]