我使用Wordpress,PHP,jQuery和AJAX。
我可以通过AJAX调用从PHP获取数据,如下所示:
$.ajax({
type: "POST",
url: "<?php echo get_bloginfo('url'); ?>/?addmod_ajax=1",
data: "action=load&type=part",
success: function(data){
alert(data);
}
});
当我收到数据时,我也想知道它是怎么回事。 “数据”包含HTML,我也想要“成功”或“未找到”等错误代码。
如何以最佳方式解决?
WordPress的
因为我使用Wordpress,我需要调用一个AJAX触发器(在url中)。如果我能保持完整,那就太好了。
答案 0 :(得分:1)
$.ajax({
type: "POST",
url: "<?php echo get_bloginfo('url'); ?>/?addmod_ajax=1",
data: "action=load&type=part",
success: function(data){
alert(data);
},
failure: function(){
alert('failed');
}
});
你可以添加一个失败处理程序来查看ajax请求是否失败,但除此之外,如果想要一个不同的返回值,你将不得不改变你在后端调用的函数的结果,或者创建一个新的类似函数,而不是只返回html,返回一个json编码的数组,第一个元素被找到或找不到,第二个元素是html。
编辑:附加评论以完成答案并格式化代码。
在你回应'你的结果'的地方,你可以回声
json_encode(array('success'=>true,'html'=>$yourData));
并在你的ajax调用中添加
dataType:'json'
然后您可以在成功处理程序中访问成功和html值。
答案 1 :(得分:0)
我通常只返回一个数组或字典,其中一个值被指定为状态。
$.get(url,data,function(data) {
if (data[0]=='parseError') { //could also be data.state
$("#formError").html("You have entered an invalid value.").show();
}
else if (data[0]=='permissionDenied') {
$("#formError").html("You do not have permission to edit this.").show();
}
else {
$("#formSuccess").html("Your changes have been saved");
}
});
这些示例可能不是最好的(权限被拒绝,解析错误可以在前端处理)。这个概念仍然很可靠。