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