我想从PHP发送关联数组到Javascript。但是,出于某种原因,输出是未定义的。下面的代码:从PHP到JavaScript使用JSON的关联数组
PHP(虚拟的阵列):
$validationErrors = array("unregisteredName" => NULL,
"unregisteredEmail" => "Invalid e-mail", "unregisteredUsername" => NULL,
"unregisteredPassword" => NULL);
$log = array("errors" => $validationErrors);
echo json_encode($log);
的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="https://stackoverflow.com/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);
}
这里是我从Chrome的督察获得:
数据:"↵{"errors":{"unregisteredName":null,"unregisteredEmail":"Invalid e-mail.","unregisteredUsername":null,"unregisteredPassword":null}}"
个 data.errors:Undefined
那么,什么情况是,即使获得的“数据”可变数据,因为事实上它是格式化它总是重定向到“成功”页面。
任何想法?
因为'data'是一个字符串。您需要解析JSON字符串并首先提取您的对象。 – Crontab 2012-01-06 20:13:37