我正在使用jquery ajax和php编写邮件验证控制器。
我在php控制器中验证消息后,我试图通过ajax获取它并通过jquery在屏幕上打印。
我的ajax代码看起来像那样
...
success: function(data) {
var jsonObj = jQuery.parseJSON(data);
if (jsonObj.result) {
//succes message
}
else {
$.each([jsonObj.errors],function(key,value){
console.log(jsonObj.errors);
});
}
}
console.log错误显示:
[Object]
0: Object
email: "Email validation error message"
name: "Name validation error message"
phone: "phone validation error message"
__proto__: Object
length: 1
.......
如何获取电子邮件的价值以在屏幕上打印? 我想做的事情如下: 如果电子邮件错误不为空,则显示错误消息。
答案 0 :(得分:1)
您应该将代码更改为:
success: function(data) {
var jsonObj = jQuery.parseJSON(data);
if (jsonObj.result) {
//succes message
}
else {
$.each([jsonObj.errors],function(key,value){
if (typeof jsonObj.errors[0].email !== 'undefined') {
console.log(jsonObj.errors[0].email);
}
});
}
}
答案 1 :(得分:0)
假设您在控制器中有一个数组:
Array
(
[message] => json object from controller
[data] => Array
(
[name] => user25354i
[profile_views] => 234
)
)
$array = array('message'=>"json object from controller",
'data'=>array('name'=>'user25354i','profile_views'=>'234'));
将$ array返回为:echo json_encode($array);exit;
现在在jQuery中,默认情况下它将被视为json对象,因此您只需访问此数组,如下所示:
success: function(response) {
alert(response.message);
alert(response.data.name);
so on...
}
希望它会回答你的问题!