没有数据的 AJAX GET 请求的响应处理

Response handling of an AJAX GET request without data

我卡在了一些相当简单的事情上。我有一个简单的 AJAX GET 请求函数,我需要它来处理响应。它没有发送任何数据,数据只是通过 GET url 处理。不幸的是,我从来没有在没有数据的情况下发送出去,虽然我的响应成功地带回了 JSON 响应,但如果响应没有任何错误,它不会做任何应该做的事情。

这是我的脚本:

 <script type="text/javascript">
        $(document).on('click', '#pullDetails', function() {
            $.ajax({
            type:'GET',
            url: 'https://webservices.rrts.com/TrackWebApi/api/values/'+$('input[name=proNumber]').val(),
            success: function(response) {
                    $('.errorTitle').addClass('hidden');
                    $('.errorContent').addClass('hidden');

                    if ((response.errors)) {
                        setTimeout(function () {
                            toastr.error('Validation error - Check your inputs!', 'Error Alert', {timeOut: 5000});
                        }, 500);

                        if (data.errors.title) {
                            $('.errorTitle').removeClass('hidden');
                            $('.errorTitle').text(data.errors.title);
                        }
                        if (data.errors.content) {
                            $('.errorContent').removeClass('hidden');
                            $('.errorContent').text(data.errors.content);
                        }
                    } else {
                            $('#carrierReturnData').removeClass('hidden');
                            $('#carrierReturnData').html(Shipment.Origin.Name);


                    }
                },
            });
        });
</script>

具体来说,在底部附近的 ELSE 下方,删除 class 不起作用,所以我知道脚本一定认为发生了错误....

响应数据(其中一些是这样的):

SearchResults   […]
   0    {…}
    SearchItem  ----9
    DisplayType 0
    Shipment    {…}
       DRAvail  false
       ProNumber    -----9
       PickupNumber Not Found
       CustomerNumber   ----3
       BillToAccount    ----34

更新

更新

更新

根据评论。您可以这样处理 ajax 请求错误。

 $.ajax({
    type:'GET',
    url: 'https://webservices.rrts.com/TrackWebApi/api/values/'+$('input[name=proNumber]').val(),
    success: function(response) {
        $('.errorTitle').addClass('hidden');
        $('.errorContent').addClass('hidden');

        $('#carrierReturnData').removeClass('hidden');
        $('#carrierReturnData').html(Shipment.Origin.Name);
    },
    error: function(request, status, error) {
        // Do stuff with the errors
    }
});

供参考,jQuery $ajax