为什么Javascript返回[object Object]?

时间:2013-09-01 21:42:06

标签: javascript jquery ajax

<script type="text/javascript">
  $("#sign_up").on('click', function() {
    $.post('./includes/ajax.php', { action: 'register' } , function(result) {
      var result = JSON.parse(result);
        if(result ) { $("#register_result") = result; document.write(result); }
    });
  });
$("#register_form").submit(function() {
  return false;
});
</script>

在控制台中,它返回“必须输入所有输入” - 这就是我想要它返回的内容。

但是,警报返回[object Object]。这是为什么?

2 个答案:

答案 0 :(得分:9)

console.log将为您提供对象的调试视图。

alert将为您提供对象的字符串视图。

通过调用对象.toString()将对象转换为字符串。

基本对象上的默认toString()函数将返回"[Object object]"

答案 1 :(得分:1)

首先,您似乎正在尝试获取JSON数据。如果是这样的话,为什么不简单地设置dataType($ .post函数中的第4个参数为'json')?

JSON也是一个对象,警报并不擅长返回对象。如果您要调试代码,我建议您使用console.log(result)吗?它的信息量更大,侵扰性更小。