JQueryAjax JSON错误报告$.ajaxpost成功
JQuery Ajax JSON error reporting on $.ajax post success
EDIT:我修复了Answers中提到的PHP错误,但我仍然有同样的问题
如果POST请求失败,我将尝试显示一条错误消息,如果没有失败,则显示一条成功消息。它当前正确地显示了成功消息,但如果我使sql失败,则不会发生任何事情,即使在控制台中也是如此。
JQUERY://我已经删除了不必要的代码
$("#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
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.');
echo json_encode($arr);
}
有人知道这里的问题是什么吗?正如我所说,如果我在success
函数之后添加console.log(JSON.stringify(response));
,那么错误数组上就不会返回任何内容。感谢
如果您看到这一行:
$arr = array ('status'=>'error','comment'=>'There has been an error. Please try again.'+$custid);
您将看到您使用的是+
而不是.
,后者是PHP中的串联运算符。
这是正确的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);
}
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);
}
相关文章:
- 尽管链接成功并已成功下载,但未找到NPM模块
- 在另一个函数成功结束后调用该函数
- 在ajax成功后,cluetip不适用于首次点击活动元素
- jQuery成功函数中的ajax成功函数
- jQuery触发器点击未从AJAX成功工作
- 如何使用jQuery可编辑插件检查ajax是否成功完成
- 执行ajax成功函数-jQUERY
- 解析云代码错误:解析.错误{代码:141,消息:“未调用成功/错误”}
- 如何从servlet获取数据到ajax成功
- 成功回调永远不会被JSONP请求调用
- 将表单张贴到MailChimp,但显示动态成功页面
- ajax请求成功,但可以'我看不到我的数据
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- AngularJs|Don'在成功加载所有指令htmls之前,不显示页面
- Node.js Passport成功登录后显示用户名
- 通过mvc中的ajax动作链接获取关于成功的响应头
- 查询后websql成功回调无法访问变量
- AJAX调用在chrome扩展中未成功
- 绑定到 x 可编辑的成功函数未使用正确的参数执行
- JQueryAjax JSON错误报告$.ajaxpost成功