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

时间:2018-02-21 17:15:02

标签: jquery json ajax response

我坚持一些相当简单的事情。我有一个简单的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下面,remove类不起作用所以我知道脚本必须认为发生了错误....

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

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

更新

enter image description here

更新

enter image description here

更新

enter image description here

1 个答案:

答案 0 :(得分:1)

根据评论。您可以这样处理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