Fal*_*ion 0 javascript php json
我正在尝试从PHP发送关联数组到Javascript.但是,由于某种原因,输出是未定义的.这是代码:
PHP(虚拟数组):
$validationErrors = array("unregisteredName" => NULL,
"unregisteredEmail" => "Invalid e-mail", "unregisteredUsername" => NULL,
"unregisteredPassword" => NULL);
$log = array("errors" => $validationErrors);
echo json_encode($log);
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
var addUserCallback = function(data) {
if(data.errors && data.errors.length) {
$.each(data.errors, function(index, error) {
console.log(error);
$("#"+index).attr("placeholder", error);
});
}
else {
window.location="/users/success/";
}
};
var errorCallback = function(xhr, status, error) {
console.log(arguments);
};
self.addUser = function() {
var data = {
unregisteredName: $("#unregisteredName").val(),
unregisteredEmail: $("#unregisteredEmail").val(),
unregisteredUsername: $("#unregisteredUsername").val(),
unregisteredPassword: $("#unregisteredPassword").val()
};
$.post(addUserUrl, data).success(addUserCallback)
.error(errorCallback);
}
Run Code Online (Sandbox Code Playgroud)
这是我从Chrome的Inspector得到的:
data: "?{"errors":{"unregisteredName":null,"unregisteredEmail":"Invalid e-mail.","unregisteredUsername":null,"unregisteredPassword":null}}"
data.errors: Undefined
所以,正在发生的事情是,即使获取"数据"变量的数据,由于它是未格式化的事实,它总是重定向到"成功"页面.
有任何想法吗?
您需要告诉jQuery解析JSON字符串.
$.post(addUserUrl, data, 'json').success(addUserCallback).error(errorCallback);
Run Code Online (Sandbox Code Playgroud)
虽然我通常将成功回调传递给 $.post
$.post(addUserUrl, data, addUserCallback, 'json').error(errorCallback);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |