Как передать данные / значение в контроллер, используя строку запроса в AJAX - PullRequest
0 голосов
/ 15 октября 2019

Значение "pid" работает нормально, значение "qty" отображается на контроллере как "0".

Я на 100% уверен, что проблема в строке запроса.

Вот код ajax и jquery:

$(".cartquantity").change(function () {
    var tblrow = $(this).parents(".datarow");
    var amtcell = $("#amtcell").text();
    var pid = $(this).data("pid");
    var qty = $(this).val();
    var price = $("#prc").text();
    $.ajax(
        {
            url: "/cart/UpdateQuantity?pid=" + pid + "&qty" + qty //here problem occurs
        }
    ).done(function (result) {
        if (qty < 1)
            tblrow.remove();
        else
            amtcell.text(price * qty);
        $("#cartitems").text(result.Items)
    });
});

Controller Code:

int pid = Convert.ToInt32(Request.QueryString["pid"]);
int qty = Convert.ToInt32(Request.QueryString["qty"]); //showing "0"

Скажите, пожалуйста, каков правильный синтаксис передачи значений через строку запроса. Поскольку переменная qty показывает правильное значение, но когда данные проходят через строку запроса, она становится равной 0.

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Есть одна ошибка, Вы не используете = перед кол-во при отправке данных в URL

$(".cartquantity").change(function () {
    var tblrow = $(this).parents(".datarow");
    var amtcell = $("#amtcell").text();
    var pid = $(this).data("pid");
    var qty = $(this).val();
    var price = $("#prc").text();
    $.ajax(
        {
            url: "/cart/UpdateQuantity?pid=" + pid + "&qty=" + qty // problem Solved
        }
    ).done(function (result) {
        if (qty < 1)
            tblrow.remove();
        else
            amtcell.text(price * qty);
        $("#cartitems").text(result.Items)
    });
});

Controller Code:

int pid = Convert.ToInt32(Request.QueryString["pid"]);
int qty = Convert.ToInt32(Request.QueryString["qty"]); //showing "0"
0 голосов
/ 15 октября 2019

Пожалуйста, попробуйте это

$(".cartquantity").change(function () {
    var tblrow = $(this).parents(".datarow");
    var amtcell = $("#amtcell").text();
    var pid = $(this).data("pid");
    var qty = $(this).val();
    var price = $("#prc").text();
    $.ajax(
        {
            url: "/cart/UpdateQuantity?pid=" + pid + "&qty=" + qty //here problem occurs
        }
    ).done(function (result) {
        if (qty < 1)
            tblrow.remove();
        else
            amtcell.text(price * qty);
        $("#cartitems").text(result.Items)
    });
});
Controller Code:
int pid = Convert.ToInt32(Request.QueryString["pid"]);
int qty = Convert.ToInt32(Request.QueryString["qty"]); //showing "0"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...