我在客户端有这个代码:
this.formValidation = function() {
// Parse forms
$('.submit.btn').on('click', function(){
$(this).closest('form').submit();
});
$.each($('form.validate'), function(){
$(this).validate({
submitHandler: function(form) {
var data = $(form).serializeArray();
var action = $(form).attr('action');
$.ajax({
method: 'post',
dataType: 'json',
url: action,
data: data,
success: function(d) {
// Prepare the message
var message = '';
$.each(d, function(k, m){
var messageType = 'boolean' === $.type(m.status) ? (m.status?'success':'error') : m.status;
message += '<div class="alert alert-'+messageType+'">'+m.message+'</div>';
});
// Replace the form with the message
$(form).replaceWith($(message));
},
error: function() {
var error = $('<div class="alert alert-error">error </div>');
$(form).replaceWith(error);
}
});
}
});
});
};
支持的消息类型是:'success' 和 'error' 用于 css 加载样式
和服务器中的这段代码:
$d= array(
'status' => 'success',
'm.status'=> 'success',
'message'=>'success'
);
echo json_encode($d);
?>
但它没有返回成功消息。我应该如何在服务器端形成阵列?
我知道它进入了代码的成功部分,但我不知道如何在服务器端编写变量。
JavaScript代码不应该改变,我只需要修改服务器php。我怎样才能做到这一点?
另外我有几个问题:
服务器php中的变量名是否应该与函数中的变量名相同?在这个例子中,当我回显 $d 时应该是这样
success: function(d) {
还是我也可以使用其他名称?他们甚至有关系吗?变量“k”和“m”
function(k, m){
是什么时候来的?你能解释一下这个功能是做什么的吗?