Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Javascript返回[object]? $(“#注册”)。在('单击',函数()上{ $.post('./包括/ajax.php',{action:'register'},函数(结果){ var result=JSON.parse(result); if(result){$(“#register_result”)=result;document.write(result);} }); }); $(“#登记表”)。提交(函数(){ 返回false; });_Javascript_Jquery_Ajax - Fatal编程技术网

为什么Javascript返回[object]? $(“#注册”)。在('单击',函数()上{ $.post('./包括/ajax.php',{action:'register'},函数(结果){ var result=JSON.parse(result); if(result){$(“#register_result”)=result;document.write(result);} }); }); $(“#登记表”)。提交(函数(){ 返回false; });

为什么Javascript返回[object]? $(“#注册”)。在('单击',函数()上{ $.post('./包括/ajax.php',{action:'register'},函数(结果){ var result=JSON.parse(result); if(result){$(“#register_result”)=result;document.write(result);} }); }); $(“#登记表”)。提交(函数(){ 返回false; });,javascript,jquery,ajax,Javascript,Jquery,Ajax,在控制台中,它返回“必须输入所有输入”-这是我希望它返回的 但是,警报将返回[object]。这是为什么?控制台。log将为您提供对象的调试视图 警报将为您提供对象的字符串视图 通过调用对象上的.toString()将对象转换为字符串 基本对象上的默认toString()函数将首先返回“[object object]”,似乎您正在尝试获取JSON数据。如果是这样的话,为什么不简单地将dataType($.post函数中的第四个参数设置为“json”)呢 JSON也是一个对象,alert并不擅长返

在控制台中,它返回“必须输入所有输入”-这是我希望它返回的


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

控制台。log
将为您提供对象的调试视图

警报
将为您提供对象的字符串视图

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


基本对象上的默认
toString()
函数将首先返回
“[object object]”

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


JSON也是一个对象,alert并不擅长返回对象。如果您希望调试代码,我建议您使用
console.log(result)
?它的信息量大得多,侵入性也小得多。

它已经将其记录在控制台中,我希望它能显示给用户。我将更改警报();我编辑了原始问题,如何让它写入#register_结果,以便用户可以看到它说“必须输入所有输入”?@JohnSmith
document.write()
与昆廷描述的
alert()
有相同的“问题”。您需要将对象打印到控制台,以便查看哪个元素包含要打印的消息,并打印该消息(
document.write(result.msg)
,例如,如果消息恰好位于元素
msg
)。@JohnSmith因为您使用jQuery,所以可以使用
$('.\35; register\u result').html(result.msg)已描述。虽然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>