【问题标题】:AJAX response doesn't print in consoleAJAX 响应不在控制台中打印
【发布时间】:2021-12-09 20:37:05
【问题描述】:

我正在使用 AJAX 从 Django 应用程序获取表单数据,我想在控制台中打印响应。

    $.ajax({ 
    type: 'GET' ,               
    url: url,              
    data: {'PUITS': PUITSId },
    dataType: "json",
    success: function (response){
        console.log(response)
        var  response = JSON.stringify(response);
        var  response = JSON.parse(response);
        console.log(response.PUITS);
        console.log(response.DUSE);
        console.log(response.CS);

第一个console.log(response) 给了我以下数据:

[{"model": "measure.surveillancedespuits", "pk": 15, "fields": {"PUITS": "1", "DATE_TEST": "2021-09-10", "MODE": "GL", "CS": "1", "SITUATION": "O", "DUSE": "27", "PRES_TBG": "27", "PRES_CSG": "27", "PRES_AVD": "27", "RESEAU_GL": "27", "ANNULAIRE_TECH": "27", "OBSERVATION": "Nothing", "Controle_Pression_ENSP": true, "Test_Puits": false, "Controle_Pression_DP": false, "post_date": "2021-09-10T08:56:16.864Z", "author": "smail"}}]

我还想在控制台中打印来自fields 的一些个人数据,例如PUITS, DATE_TEST, post_date`,但它显示错误!。

【问题讨论】:

  • 响应对象已被解析。无需再次解析。
  • 我删除了所有解析代码并尝试了(console.log(response.PUITS);)它给了我这个未定义的消息?
  • 也许它不存在。检查你的服务器端。

标签: javascript jquery json django ajax


【解决方案1】:

根据您的日志结果,您的响应是一个数组而不是一个对象。 您不能使用 dot(.) 运算符访问数组元素。

您的响应数组在索引 0 处仅包含一个元素。

const object = response[0]
object.fields.PUITS

【讨论】:

  • 我只是添加了 var response = JSON.parse(response); const object = response[0] console.log(object.fields.PUITS) 非常感谢
猜你喜欢
  • 1970-01-01
  • 2018-12-13
  • 2017-11-05
  • 2021-07-05
  • 2015-04-07
  • 2021-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多