我有一个简单的脚本,即使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 * 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);
}
});
答案 0 :(得分:0)
捕捉错误
error: function(xhr, textStatus, errorThrown) {
alert(xhr.responseText);
}
答案 1 :(得分:0)
为了更好地了解您的回复中发生的情况,您可以尝试使用Chrome中的网络标签(点击F12)并运行您的流程。您应该看到您的ajax请求和响应通过。 Internet Explorer也有类似的选项,但您需要告诉它明确地观看网络。跟踪此类问题的另一个选择是安装Fiddler2(http://fiddler2.com/)等桌面应用程序。
我已经使用了所有这3个不同级别来查找我的AJAX请求未按预期运行的原因。