【问题标题】:Success function does not return data using ajax成功函数不使用ajax返回数据
【发布时间】:2015-01-07 10:37:22
【问题描述】:

成功函数不给出结果。我该如何解决?

我有以下代码

function fun()
{
  var list_target_id = 'year';
  $.ajax({
    url: '://localhost/htdocs/cscart_mutli_car/index.php?dispatch=drill.drill',
    dataType: 'json',
    success: function (data) {
      alert(data);
    },
    error: function (xhr, status, error) {
      alert(xhr.responseText);
    }
  });
}



if ($mode == 'drill')
{
  $id = 166;
  $arr = array('category_id' = > 167, 'category' = > 'computers');
  echojson_encode($arr);
  exit;
}

在这个 Ajax 中,我收到了成功警报。但它不提供任何结果。我该如何解决?

【问题讨论】:

  • 它返回了一个对象。那有什么问题?对象中有什么?
  • [Object object] 是当你对一个普通对象进行字符串化时得到的。您正在返回疼痛对象的 JSON 表示。 alert 只接受一个字符串作为输入。您正在获得预期的行为。
  • 我需要得到 echo json_encode($arr);在成功函数中
  • 使用 console.log 查看对象的属性。如前所述,您将一个对象传递给一个只接受字符串的方法。
  • 你明白了!它在一个正确的对象中,重新阅读以上所有 cmets。

标签: php ajax smarty cs-cart


【解决方案1】:

成功处理程序中返回的data 是一个对象。警报将提醒对象的字符串表示,即data.toString(),即[Object object]

你可以像这样调用data对象的属性,从data获取所需的东西。

alert(data.category_id);

alert(data.category);

【讨论】:

  • 它只给出未定义的
  • Soniya,使用 console.log(data) 查看你的对象的结构。
  • 您是在查看控制台还是希望弹出警报?
  • 我需要获取类别 id 和类别名称
  • 您是在查看控制台还是希望弹出警报?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-10
  • 2015-06-29
  • 2014-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多