gpt4 book ai didi

php - 通过 $.each 函数迭代 json TypeError

转载 作者:行者123 更新时间:2023-12-02 19:11:50 26 4
gpt4 key购买 nike

我从 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未定义

在旧版本上它可以工作,但在 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"
)

最佳答案

您的 result.errors 是一个只有一个元素的数组,您想要使用 $.each 迭代该元素,因此只需替换以下行:

$.each(result.errors, function(label, error) {

对于这个:

$.each(result.errors[0], function(label, error) {

这应该可以达到你想要的效果。

关于php - 通过 $.each 函数迭代 json TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13621884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com