Как исправить, когда .then не работает? - PullRequest
0 голосов
/ 29 января 2019

Для моего следующего кода:

$http({
    method: "POST",
    url: applicationUrl + '/Order/GetTax',
    params: { ShippingId: shippreference },
    contentType: "application/json; charset=utf-8",
    dataType: "json"
}).success(function (data) {
    if (data != "ADDED_FAIL") {
        $scope.getTaxData = data;
        $scope.shippingHandling = data.TotalShipping;
        $scope.Tax = data.TotalTax;
        $scope.CouponSaving = data.Coupons.length == 0 ? null : data.Coupons[0].Amount;
        $scope.CouponSavingDesc = data.Coupons.length == 0 ? null : data.Coupons[0].Description;
    } else {
        $('#popLoader').hide();
        jAlert('Internal Technical Error. Please try again!');
        taxErrorFlag = false;
        return false;
    }
    $('#popLoader').hide();
}).error(function (x) {
    jAlert(x);
});

Я обновил свой сайт до jquery-2.2.4.js и AngularJS v1.7.6.И получил следующую ошибку:

TypeError: $http.get(...).success is not a function

Чтобы исправить ошибку, я заменил .success на .then Я сделал это по совету этого ответа: $ http.get (...). Successне является функцией

Однако я получил ошибку.

  TypeError: $http(...).then(...).error is not a function

Я не уверен, что делать дальше ...

1 Ответ

0 голосов
/ 29 января 2019

Это потому, что .then принимает два аргумента: успех и обратный вызов ошибки.Вы пытаетесь вызвать error () для функции .then, которая выдает ошибку.Попробуйте это:

$http({
    method: "POST",
    url: applicationUrl + '/Order/GetTax',
    params: { ShippingId: shippreference },
    contentType: "application/json; charset=utf-8",
    dataType: "json"
}).then(function (data) {
    if (data != "ADDED_FAIL") {
        $scope.getTaxData = data;
        $scope.shippingHandling = data.TotalShipping;
        $scope.Tax = data.TotalTax;
        $scope.CouponSaving = data.Coupons.length == 0 ? null : data.Coupons[0].Amount;
        $scope.CouponSavingDesc = data.Coupons.length == 0 ? null : data.Coupons[0].Description;
    } else {
        $('#popLoader').hide();
        jAlert('Internal Technical Error. Please try again!');
        taxErrorFlag = false;
        return false;
    }
    $('#popLoader').hide();
}, function (x) {
    jAlert(x);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...