不知道如何在Javascript/jQuery中解析这个PHP/JSON对象

Not sure how to parse this PHP/JSON object in Javascript/jQuery

本文关键字:PHP 对象 JSON Javascript jQuery 不知道      更新时间:2023-09-26

因此,据我所知,因为我使用json_encode在PHP中创建了一个JSON对象,然后使用echo来显示它,所以我可以在JS中作为对象直接访问它,就像这个

.done(function(response) {
    var result = response;
    $(result).hide().prependTo('#messages').fadeIn('slow');
});`

但是,如何访问对象中的数据?我的对象包含将为true或false的error,而error_message包含格式化为<li>error</li> 的错误

PHP返回此-{"error":true,"error_messages":" <li>Name too short (minimum of 4 characters)<'/li> <li>Name too short (minimum of 4 characters)<'/li>"}

如果您的服务器返回正确的Content-Type标头(application/json),jQuery将为您解析响应并给您一个对象,您可以像这样使用它:

console.log(response.error_messages); // "<li>Name too short...

如果您的服务器没有返回正确的Content-Type标头,您可以通过提供来强制解决问题

dataType: "json"

在您的$.ajax呼叫中。

无论哪种方式,您在问题评论中引用的JSON都是有效的。

所以你可能想要:

if (response.error) {
    $(response.error_messages).hide().prependTo('#messages').fadeIn('slow');
}
else {
    // whatever you show when it's successful
}

但是请注意,#messages必须是menuulol元素,因为error_message定义了li元素。

您应该能够像正常情况一样将其用作对象。例如:

result.error; // true or false
result.error_messages; // the error messages

您可能需要解析它,但jQuery(看起来像是您正在使用的)可能会帮您完成这项工作。如果没有,请使用JSON.parse:

var myobj = JSON.parse(result);