Php jquery ajax脚本已成功运行,但导致错误
我有一个简单的脚本,它会不断导致错误,即使PHP脚本运行成功 PHPPhp jquery ajax脚本已成功运行,但导致错误,php,jquery,ajax,json,Php,Jquery,Ajax,Json,我有一个简单的脚本,它会不断导致错误,即使PHP脚本运行成功 PHP require('/connect.php'); //Has my $link variable if(isset($_POST['pass'])){ $user = $_POST['user']; $oldpass = md5(urldecode($_POST['op'])); $newpass = md5(urldecode($_POST['np'])); $q = "SELECT
require('/connect.php'); //Has my $link variable
if(isset($_POST['pass'])){
$user = $_POST['user'];
$oldpass = md5(urldecode($_POST['op']));
$newpass = md5(urldecode($_POST['np']));
$q = "SELECT * FROM `nht_users` WHERE usr = '".$user."' AND pass = '".$oldpass."'";
$r = mysqli_query($link,$q);
$n = mysqli_num_rows($r);
if( $n > 0){
$u = "UPDATE `nht_users` SET pass = '".$newpass."' WHERE usr = '".$user."'";
mysqli_query($link,$u);
}
else{
echo json_encode('FALSE');
}
}
JQuery
$('#pass-submit').click(function() {
var npp = $('#npp').val(),
np = $('#np').val(),
data = $('#pass-form').serialize(),
url = 'http://www.<?php echo DOMAIN; ?>/functions.php';
if (npp == np) {
$('#test').html(url);
$.ajax({
type: 'POST',
url: url,
data: 'pass=true&'+data,
success: function(data){
$('#pass-form').slideUp(800);
$('.pass-true').fadeIn(800);
},
error: function(){
$('.pass-false').fadeIn(800);
}
});
}
else {
$('.pass-check').fadeIn(800);
}
});
$(“#通过提交”)。单击(函数(){
var npp=$('#npp').val(),
np=$('#np').val(),
数据=$('#传递形式')。序列化(),
url='1〕http://www./functions.php';
如果(npp==np){
$('#test').html(url);
$.ajax({
键入:“POST”,
url:url,
数据:'pass=true&'+数据,
成功:功能(数据){
元("通过表格").slideUp(800);;
$('.pass true').fadeIn(800);
},
错误:函数(){
$('.pass false').fadeIn(800);
}
});
}
否则{
$('通过检查').fadeIn(800);
}
});
捕获错误
error: function(xhr, textStatus, errorThrown) {
alert(xhr.responseText);
}
为了更好地了解您的响应中发生了什么,您可以尝试使用Chrome中的网络选项卡(点击F12)并运行您的流程。您应该看到您的ajax请求和响应已经完成。Internet Explorer也有类似的选项,但您需要告诉它显式监视网络。跟踪此类问题的另一个选项是安装一个桌面应用程序,如Fiddler2()
我已经在不同的级别上使用了这三种方法来查找我的AJAX请求没有按预期运行的原因。您不应该从脚本发送标题吗?是浏览器控制台中的错误吗?抱歉,它执行AJAX错误回调。@tPlummer错误是因为在运行更新查询时没有回显任何内容,或者它发生在if检查中。我建议在整个php文件的关键位置添加一些
echo
语句,以帮助跟踪发生的情况。顺便说一句,在UPDATE
语句中,似乎需要一个WHERE
子句。如果我为此编程,则不会有响应文本。@tPlummer这意味着您的php不会返回任何内容。我的猜测是,您实际上得到了一个500错误(内部服务器错误),这表明是一个php错误。textStatus和error抛出的参数包含什么?