次のようにphpから応答を取得します。
{"success":false,"errors":{"category_id":"category id must not be empty","name":"name must not be empty","uri":"uri must not be empty","price":"price must not be empty","status":"status must not be empty"}}
エラーを表示したい:
form.submit(function(ev) {
ev.preventDefault();
$('.help-inline').remove();
var data = $(this).serialize();
$.post($(this).attr('action'), {'data': data}, function(result) {
if (result.success == true) {
console.log('true');
} else {
$.each(result.errors, function(label, error) {
console.log(label+' '+error);
});
}
});
});
しかし、それは私を投げますTypeError: e is undefined
古いバージョンでは動作しますが、1.8.3 では動作しません。私が間違っていることは何ですか?
私のphpコードは次のとおりです。
$errors = $post->errors('');
$this->response->body(json_encode(array(
'success' => FALSE,
'errors' => $errors,
)));
$errors は連想配列です:
array(5) (
"category_id" => string(29) "category id must not be empty"
"name" => string(22) "name must not be empty"
"uri" => string(21) "uri must not be empty"
"price" => string(23) "price must not be empty"
"status" => string(24) "status must not be empty"
)