不知道如何在Javascript/jQuery中解析这个PHP/JSON对象
Not sure how to parse this PHP/JSON object in Javascript/jQuery
因此,据我所知,因为我使用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
必须是menu
、ul
或ol
元素,因为error_message
定义了li
元素。
您应该能够像正常情况一样将其用作对象。例如:
result.error; // true or false
result.error_messages; // the error messages
您可能需要解析它,但jQuery(看起来像是您正在使用的)可能会帮您完成这项工作。如果没有,请使用JSON.parse
:
var myobj = JSON.parse(result);
相关文章:
- 如何在ng-click中传递php对象
- 将javascript解析为php对象
- 如何将PHP对象序列化为JavaScript对象(不是JSON)
- 通过JavaScript(JSON)填写带有PHP对象的表单
- 使用 jQuery 工具提示插件(或任何其他方法)显示带有 PHP 对象属性的工具提示
- 如何存储PHP对象以使用JavaScript单击访问其数据
- 概念 - 从 PHP 对象创建客户端验证
- 将php对象传递给javascript
- 在滚动中动态创建更多php对象
- 带有引用的PHP对象数组
- 在使用两种语言时,如何决定是使用JavaScript对象还是使用PHP对象
- 将可重复字段选项保存到PHP对象数组
- 将PHP对象传递给ajax PHP脚本
- 如何在HTML中显示和更新PHP对象
- 将AJAX PHP对象转换为字符串并回显结果
- 如何通过连续的AJAX调用来维护PHP对象
- 使用锚标记上的on-click函数将PHP对象传递给javascript
- 如何将php对象数组转换为javascrript对象
- 如何从ajax获得php对象
- 如何设置一个PHP对象的会话在一个超链接点击