Json 返回每个函数
Json return each function
从返回以下代码的 ajax 函数获取 json 响应:
["Please enter a Name","Please enter a Email","Please enter a Date","Please enter a message"]
问题是我当前的代码只会显示最后一条消息,而不是所有消息。
Jquery代码是:
var result = jQuery.parseJSON(response);
console.log(response);
$.each(result, function(key, value){
if(key == 'success') {
// console.log(response);
success.find(".message").text(value);
success.slideDown();
success.delay(4000).fadeOut();
}
else {
// console.log(response);
error.find(".message").text(value);
error.slideDown();
}
})
如何分别显示每条错误消息?
您的代码正在替换文本。而是尝试使用追加 success.find(".message").append(value + '<br />');
与错误error.find(".message").append(value + '<br />');
相同
我会考虑改变你如何构建响应。
在此处查看代码的js小提琴:http://jsfiddle.net/xrmgeazs/或 http://jsfiddle.net/xrmgeazs/1/成功选项
例如来自 php:
$response = json_encode( array(
'success' => false,
'errors' => array(
'name =>"Please enter a Name",
'email => "Please enter a Email"
)
) );
回声$response;
在你的js中,例如:
var result = jQuery.parseJSON(response);
if( result.success ){
//do your success code here
} else {
//start by clearing previous errors
$('form p.error').hide();
//loop your errors here
for (var key in result.errors){
var errorName = key;
var errorMessage = result.errors[key];
//now place your error and show accordingly.
$( 'div.'+key ).append('<p>'+errorMessage+'</p>');
}
}
HTML EG:
<form action="something.php" method="post">
<!-- add rel fields as appropriate -->
<!-- also note this is a very simple structure and could be expanded for richer ui -->
<div class="name">
<input type="text" name="name"/>
</div
<div class="email">
<input type="text" name="name"/>
</div
</form>
相关文章:
- ES6构造函数返回基类的实例
- 从函数返回角度承诺
- 如何从jquery函数返回变量
- 根据是否解析了 Promise 从函数返回值
- Javascript函数返回未定义
- 如果函数返回True,则显示Javascript按钮
- Google Sheet自定义函数返回0
- 从Ajax函数返回值
- 使用for循环从Javascript中的函数返回多个值
- 谷歌地图:函数返回未定义的值在console.log中运行良好
- 从函数中的函数返回数组时出错
- 如何从嵌套的API函数返回值
- 从Mongoose结果匿名函数返回父函数
- 函数返回错误'令牌{'
- Jquery函数返回订单问题
- Mocha/Chai测试链接到函数返回断言错误
- 从异步函数返回值
- 函数返回后更新变量
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 将外部函数返回的id传递给内部函数