首页 > 解决方案 > jquery $.ajax 没有返回正确的 json

问题描述

我有一个内部 api,我正在点击它返回:

[
   {
      "product":{
         "zoho_product_id":3745508000000622066,
         "product_name":"SIP Channels (SIP Select)"
      },
      "product_dependencies":[
         {
            "zoho_product_id":3745508000000622067,
            "product_name":"SIP Access (xxx IP WAN)"
         },
         {
            "zoho_product_id":3745508000000622068,
            "product_name":"SIP Access (xxx Wireless)"
         }
      ]
   }
]

当我使用 jquery 检索此 url 的内容时:

    $.ajax({
        type: "GET",
        url: `http://127.0.0.1:8000/product_dependency/${product_id}/`,
        dataType: "json",
        data: {format : "json"}
    })
    .done(function( data ) {
        if ( console && console.log ) {
          console.log(data)
        }
    });

结果不正确。看起来当我解析来自 api 的响应时,它对zoho_product_id所有条目使用第一个,这是不正确的:

在此处输入图像描述

奇怪的是原始响应文本包含正确的 id,认为当 jquery 将响应转换为 data/json 对象时可能存在错误? 在此处输入图像描述

标签: jqueryjson

解决方案


推荐阅读