【问题标题】:Nested JSON response TypeError嵌套 JSON 响应 TypeError
【发布时间】:2018-08-02 17:19:23
【问题描述】:

我有一个 JSON 响应,我无法弄清楚。这是我目前收到的回复。

这是我的 ajax 脚本:

<script>
 $(document).on('click', '#pullDetails', function() {
         $.ajax({
            type:'POST',
            url: '/carrier/claims/pullDetails',
            data: {
                num: $('input[name=proNumber]').val(),
                _token: $('input[name=_token]').val()},
            dataType: 'json',
            success: function(data) {
                if(data.details != undefined) {
                        console.log('success');
                        console.log(data.details.SearchResults[0].Shipment.Origin.Name); //result: ATLAS INTL
                        $('#carrierReturnData').html(data.details.SearchResults[0].Shipment.Origin.Name);
                    }else{
                        console.log('failed');
                        console.log(data);
                        console.log(data.details.SearchResults.SearchItem); 
                    }
            },
            error: function(data) {
                console.log('error');
                console.log(data);
            }
        });
    });
</script>

现在我的问题是如何从“SearchItem”行(在响应 json 的第一行)获取特定数据?

目前我得到以下信息:TypeError: data.details.SearchResults 未定义,但 data.details 被识别为我的控制台日志“成功”。

【问题讨论】:

    标签: arrays json ajax laravel laravel-5


    【解决方案1】:

    对详细信息进行 JSON.parse,然后尝试记录 SearchResults

    var results = JSON.parse(data.details);
    console.log(results.SearchResults.SearchItem);
    

    【讨论】:

    • 具体返回成功(作为第一部分的一部分)然后未定义。但是(我将在上面编辑我的问题以包含图像),如果我删除 .SearchItem 并将其保留为 results.SearchResults,我会返回一个数组。给我一点时间……
    • 我添加了图片来展示控制台返回的样子。
    • 使用您上面的建议,我编辑为这样工作:results.SearchResults[0].SearchItem.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    • 2020-01-13
    • 2020-05-19
    • 2020-10-23
    • 2017-03-15
    • 2021-04-10
    • 2014-01-21
    相关资源
    最近更新 更多