【发布时间】:2016-01-20 16:20:41
【问题描述】:
我有一个 jQuery 和一个 PHP 文件。如果在 PHP 中该过程正确完成,则返回 2(通过 echo json_encode(2))。我在 jQuery 文件中捕获它,并在 HTM div 上显示一个字符串。我可以毫无问题地完成这部分。
对我来说困难的事情是将错误返回给 ajax,当它发生时,显示在 HTML div 上。我想返回一个 JSON 数组 {"error": "xxx"} 其中 "xxx" 是 php 生成的错误。
所以问题是我无法获取“错误”键的值来显示它。 我在网站上阅读了很多类似的主题,但它们是关于阅读多个对象的值。
jQuery 文件:
$('#log').submit(function(event) {
event.preventDefault();
var stuff = $(this).serializeArray();
stuff.push({name:'tag', value:'login'});
$.ajax({
url: './php/logreg.php', //Como si fuera el action del form
type: 'post', //Por defecto es get
dataType: 'json',
data: stuff,
beforeSend: function(){
$('#span-login-icon').css('display','inline');
}
})
.done(function(data){
if(data == 2){
$('#span-login-resp').html('Correcto');
}
else{
$('#span-login-resp').html(data);
}
});
});
PHP 文件:
if($object->queError() === ''){
echo json_encode(2);
}
else{
echo json_encode('{"error"'.':"'.$object->queError().'"'.'}'); //output: {"error":"xxx..."}
}
【问题讨论】:
-
你试过检查你的json数据的关键吗?
if (data.hasOwnProperty('error')) { /* ... */ } else { /* ... */ }
标签: javascript php jquery arrays json