3
<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]。为什么是这样?

4

2 回答 2

9

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

alert会给你一个对象的字符串视图。

对象通过调用它们被转换为字符串.toString()

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

于 2013-09-01T21:44:38.620 回答
1

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

JSON 也是一个对象,而 alert 并不擅长返回对象。如果您正在寻找调试代码,我可以建议使用console.log(result)吗?它的信息量更大,侵入性更小。

于 2013-09-01T21:49:43.997 回答