Javascript JQuery Ajax JSON错误报告$.Ajax post成功
编辑:我修复了在答案中提到的PHP错误,但我仍然有相同的问题 如果POST请求失败,我试图显示一条错误消息,如果没有失败,则显示一条成功消息。它当前正确地显示了成功消息,但如果我使sql失败,则不会发生任何事情,即使在控制台中也是如此 JQUERY://我删除了不必要的代码Javascript JQuery Ajax JSON错误报告$.Ajax post成功,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,编辑:我修复了在答案中提到的PHP错误,但我仍然有相同的问题 如果POST请求失败,我试图显示一条错误消息,如果没有失败,则显示一条成功消息。它当前正确地显示了成功消息,但如果我使sql失败,则不会发生任何事情,即使在控制台中也是如此 JQUERY://我删除了不必要的代码 $("#form").validate({ ignore:'', errorPlacement: function(error, element) {
$("#form").validate({
ignore:'',
errorPlacement: function(error, element) {
error.insertAfter(element.parent()); // <- make sure the error message appears after parent element (after textbox!)
},
rules: {
},
messages: {
},
submitHandler: function(form) {
var datastring = $("#form").serialize();
$.ajax({
type: "POST",
url: "myscript.php",
data: datastring,
dataType:"json",
success: function (response) {
if(response.status === "success") {
window.alert(response.comment);
} else if(response.status === "error") {
window.alert(response.comment);
}
}
}); // close $.ajax
} // close submit handler
}); //end validate
有没有人知道这里会有什么问题?如我所说,如果我添加console.logJSON.stringifyresponse;就在success函数之后,错误数组上没有返回任何内容。谢谢你的php文件中的问题。失败部分出现语法错误。但不是成功。您使用了不需要的},并使用+而不是。操作人员还要删除阵列附近的空白
if($row = sasql_fetch_array($insert))
{
//success message
$arr = array ('status'=>'success','comment'=> $custid );
echo json_encode($arr);
}
} else {
//error message
$arr = array ('status'=>'error','comment'=>'There has been an error. Please try again.'+$custid);
echo json_encode($arr);
}
应该是
if($row = sasql_fetch_array($insert))
{
//success message
$arr = array('status'=>'success','comment'=> $custid );
echo json_encode($arr);
} else {
//error message
$arr = array('status'=>'error','comment'=>'There has been an error. Please try again.'.$custid);
echo json_encode($arr);
}
如果你看这一行:
$arr = array ('status'=>'error','comment'=>'There has been an error. Please try again.'+$custid);
您将看到您使用的是+而不是。这是正确的php代码
if($row = sasql_fetch_array($insert))
{
//success message
$arr = array ('status'=>'success','comment'=> $custid );
echo json_encode($arr);
} else {
//error message
$arr = array ('status'=>'error','comment'=>'There has been an error. Please try again.' . $custid);
echo json_encode($arr);
}
这就是当您进行ajax调用时服务器的响应?是的,如果sql失败,尽管我没有得到响应,那么就成功了。您是否使用+进行字符串连接?应该是。这是在,请重试。“+$custidremove}之前else@Mudaser阿里,这给了我一个错误信息…嗨,谢谢你的评论。。。我修复了这个,仍然没有返回任何错误。。。!那么在这个条件之前可能有一个错误;所以需要在这些行之前调试脚本
if($row = sasql_fetch_array($insert))
{
//success message
$arr = array ('status'=>'success','comment'=> $custid );
echo json_encode($arr);
} else {
//error message
$arr = array ('status'=>'error','comment'=>'There has been an error. Please try again.' . $custid);
echo json_encode($arr);
}