私の成功関数(ajax)でjsonを解析する際に問題があります。 私は今jsonを正しく学び始めていますが、これを動作させることはできません。CodeIgniter - Jquery Ajax - Parse JsonがAjaxコールから受け取りました
私がデータを提出するために、このjqueryの機能を持っている:Firefoxで
$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);
私が要求をトレースする際に、受信した文字列は次のとおりです:
私はこれを持っているコントローラで$("#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"]);
}
});
});
{"error":{"email":"The Email field is required.","password":"The Password field is required."}}
私はそれを解析することはできません:(私は、どのようにわからない、私はこの額にちょうど3時間以上を費やしたt。すべて私はこれを解析することはできませんが動作します。
私は次のように試してみました:
data.error["email"]
または
data[0]["email"]
しかし、それは電子メールのエラーメッセージの取得に失敗しました。助けてください:)
check https://stackoverflow.com/a/4935684/2275490 and related – Vickel
同じJSONを成功のコールバックに戻している限り、正常に動作するはずです。応答内容の種類は何ですか?テキストか 'application/json'ですか? – Shyju
アラート(データ)を使用すると、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]が表示されます。 obj = JSON.parse(data)を使用すると、 アラート(obj.error); "JSON.parse:JSONデータの第1行第2列の文字が予期しない文字"エラーが発生する – BlasterGod