[英]My return functions isn't working with my jQuery ajax
我有这个:
$("#upvote").click(function(){
var up = parseInt(document.getElementById('voteScore').innerHTML);
up++;
document.getElementById('voteScore').innerHTML = up;
$.ajax({
type: 'POST',
url: 'include/mysql_lib.php',
data: {'data[]':['upvote','<?php echo $id; ?>', '<?php echo $uid; ?>']},
dataType: "text",
success: function(dataType) {
if (dataType == "false") {
var up = parseInt(document.getElementById('voteScore').innerHTML);
up--;
document.getElementById('voteScore').innerHTML = up;
}
}
});
});
mysql_lib.php
文件(如果发现错误)具有如下一行:
return "false";
我究竟做错了什么? 我以前从未使用过jQuery。
AJAX函数的服务器响应(代码中的'dataType'变量)存储将PHP脚本写出到服务器的内容。 在您的PHP脚本中,如果return "false"
,它将从函数返回一个字符串,但是,如果您想在JavaScript中获取值,则应使用echo "false"
以便服务器的JavaScript响应为false
。
function test() {
//do some work
return "false";
}
echo test();//this will output "false" to the browser
function test() {
echo "false";//this will output "false" to the browser
}
当遇到这样的问题时,最好将console.log(dataType)
或alert(dataType)
放入AJAX回调函数中,以查看PHP输出的内容。 您的PHP脚本的响应也可以在大多数开发人员工具(如FireBug)中查看。
和一个建议。 如果要开始从PHP脚本输出更复杂的信息,请查看PHP json_encode()函数,该函数使PHP和JavaScript之间的通信变得轻松自如。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.