0
我有我的成功函数(AJAX)与解析JSON的问题。 我现在开始正确地学习json,但我根本无法得到这个工作。笨 - jQuery的阿贾克斯 - 解析JSON收到从AJAX调用
我有这样的jQuery函数提交数据:
$("#loginForm").on('submit', function(form)
{
form.preventDefault();
var tdata= $("#loginForm").serializeArray();
var that = $(this),
data = tdata;
$.ajax({
url: that.attr('action'),
type: 'POST',
data: data,
success: function(data){
alert(data["error"]["email"]);
},
error: function(){
alert(data["error"]["email"]);
}
});
});
在控制器我有这样的:
$this->load->library('form_validation');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email|trim|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'required');
.....
$arrReturnData['error'] = $this->form_validation->error_array();
echo json_encode($arrReturnData);
在Firefox中,当我跟踪请求,得到的字符串是:
{"error":{"email":"The Email field is required.","password":"The Password field is required."}}
但我不能解析它:(我不知道怎么了,我花了3个多小时只是在此看齐吨。一切正常,我无法解析这一点。
我想这样的:
data.error["email"]
或
data[0]["email"]
,但未能得到该电子邮件的错误消息。请帮助:)
检查https://stackoverflow.com/a/4935684/2275490和相关 – Vickel
它应该工作,只要你有相同的JSON回到成功回调。什么是响应内容类型?它是文本还是'application/json'? – Shyju
当我使用警报(数据)时,我得到[对象对象],[对象对象],[对象对象]。如果我使用obj = JSON.parse(data); alert(obj.error);我得到的错误“JSON.parse:在JSON数据线1列2意外的字符” – BlasterGod