为什么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_结果,以便用户可以看到它说“必须输入所有输入”?@JohnSmithdocument.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>