【问题标题】:JSON returning [object Object] [duplicate]JSON返回[对象对象] [重复]
【发布时间】:2012-11-19 15:13:30
【问题描述】:

我试图从指定的 URL 返回 JSON 数据,但是当弹出警报时它只显示 [object Object](我意识到 object 对象实际上不是错误)。 我想在警报中吐出职位名称和其他字段。我该怎么做?

这是我正在查看的 JSON 示例(完整文件大约有 30 个帖子)

[
  {
    "m_id": 473644,
    "m_positionName": "Application Monitoring Software Engineer",
    "m_positionLocations": [
      {}
    ],
    "m_active": true,
    "m_description": "Job Responsibilities:\r\n\r\n-Create world class application monitoring tools and dashboards for our health care applications\r\n\r\n-Develop business rules to pro actively identify and re-mediate system-level issues before they occur.\r\n\r\n-Create business intelligence reports for internal and external use as a supplement to software products.\r\n\r\n\r\n\r\nJob Requirements:\r\n\r\n-BS or MS Degree in computer science or any engineering discipline.\r\n-4+ years of experience with Java (or other object-oriented programming language).\r\n-Experience in SQL, Struts, Hibernate, Spring, Eclipse, JSP, JavaScript.\r\n-Highly motivated and self-driven personality.\r\n-Excellent interpersonal and leadership skills.\r\n-A vision for the future and a desire to make a difference.\r\n-Experience with Maven, Tomcat, PostgreSql, Jasper Reports,",
    "m_postedDate": "Jun 29, 2012 9:17:19 AM",
    "m_closingDate": "Jun 29, 2013 12:00:00 AM"
  }
]

这是我正在使用的脚本。

 $.ajax({
 type: "GET",
 url: '/wp-content/themes/twentyeleven/js/jobopenings.json',
 async: false,
 beforeSend: function(x) {
  if(x && x.overrideMimeType) {
   x.overrideMimeType("application/j-son;charset=UTF-8");
  }
 },
dataType: "json",
success: function(data){
alert(data);
}
});

非常感谢任何帮助。

【问题讨论】:

  • 使用console.log 而不是alert

标签: jquery ajax json


【解决方案1】:

你总是可以把对象变成一个字符串并提醒它。

alert(JSON.stringify(data));

【讨论】:

  • 确实会吐出对象中的数据,但我想专门将 m_description 字段吐出到一些 html 中,比如 li
【解决方案2】:

试试这个:

success: function(data)
{
  var _len = data.length;
  , post, i;

  for (i = 0; i < _len; i++) {
    //debugger
    post = data[i];
    alert("m_positionName is "+ post. m_positionName);
  }
}

【讨论】:

  • 现在我们正在做饭。这吐出每个位置谢谢!
  • 现在,如果我想将此数据附加到正文而不是提醒它我会写什么。我想出了这个,但它不起作用。 ('&lt;li&gt;' + "m_positionName is " + post.m_positionName + '&lt;/li&gt;').appendTo('body');
  • @user1324700 success: function(data) { var _len = data.length; , $span = $('&lt;span&gt;') , post, i; for (i = 0; i &lt; _len; i++) { //debugger post = data[i]; $span.html("m_positionName is "+ post. m_positionName).appendTo('body'); alert("m_positionName is "+ post. m_positionName); } }
【解决方案3】:

当 jQuery 接收到一个 json 时,jQuery 会自动将它转换为一个 javascript 对象。所以data 只包含您可以使用的对象。 如果您想访问响应的原始文本,可以这样做:

success: function(data, textStatus, jqXHR){
    alert(jqXHR.responseText);
}

【讨论】:

  • 这确实会吐出原始文本,但我想吐出 m_positionNamem_description 和其他人
猜你喜欢
  • 2020-03-06
  • 2023-04-08
  • 2021-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多