jQuery到PHP数据传输
具有以下jQuery文件jQuery到PHP数据传输,php,jquery,Php,Jquery,具有以下jQuery文件 $( document ).ready(function() { var urlform = "register/ajax"; $("#btnRegister").click( function() { $("#Register").submit( function() { return false; }); $.ajax({ url: url
$( document ).ready(function() {
var urlform = "register/ajax";
$("#btnRegister").click( function() {
$("#Register").submit( function() {
return false;
});
$.ajax({
url: urlform,
type: 'POST',
dataType: 'json',
async: true,
data: $("#Register").serialize(),
success: function (data) {
$("#email").css("border-color", "green");
$("#rCheck").text(data);
console.log(data);
},
error: function (data) {
$("#email").css("border-color", "red");
$("#rCheck").text(data);
console.log(data);
}
});
});
});
在控制台日志中,我得到
Object {email_reg: Object, confirm_password_reg: Object}
confirm_password_reg: Object
notSame: "Passwords Doesn't Match"
__proto__: Object
email_reg: Object
recordFound: "E-mail address already exists"
__proto__: Object
__proto__: Object
有关更清晰的解释,请参见以下链接:
但是当使用$(“#rCheck”).text(数据)在div中传输数据时它只获取[object]
问题如何仅传输错误消息,如:
- 密码不匹配
- 电子邮件地址已存在
if (!$form->isValid()){
// email is invalid; print the reasons
$json= $form->getMessages();
$response->setContent(\Zend\Json\Json::encode($json));
}
return $response;
$json在数组中是如何双关语的。问题在于
数据
是一个对象,当传递到时,text()
将打印其.toString()
版本,即[object object]
所以试试看
if (data) {
var msgs = $.map(data, function (fieldObj, key) {
return [$.map(fieldObj, function (msg, key) {
return msg;
})]
});
$('#abc').html(msgs.join('<br />'))
} else {
//do something
}
if(数据){
变量msgs=$.map(数据,函数(字段对象,键){
返回[$.map(fieldObj,函数(msg,键){
返回味精;
})]
});
$('#abc').html(msgs.join('
'))
}否则{
//做点什么
}
返回的数据是Javascript对象。您需要提取所需字段,如数据。请确认\u password\u reg.notSame
。您可能应该更改JSON,以便更容易处理结果。将其设置为数组而不是对象,并将错误消息放在子数组中的一致属性中。问题是数据
是一个对象,当传递到时。text()
将打印其.toString()
版本,即[object object]
,因此请尝试var msgs=$.map(数据、函数(key、fieldObj){return[$.map(fieldObj,function(key,msg){return msg;})]};$('#abc').html(msgs.join('
'))
也将$(“#Register”).submit(function(){..})
移出单击处理程序