如何在Ajax中获得错误响应
How to get error response in Ajax?
我试图将数据添加到购物车(使用)Ajax jQuery,现在我已经添加了一个主键约束,我想当约束被违反时得到jQuery中的错误消息:
function add()
{
$(document).ready(function()
{
$('#addtocart').submit(function() {
//$('#add-button').prop('disabled',true);
var user = $('#user').val();
var pid = $('#pid').val();
$.ajax({
type: "post",
url: "/devilmaycry/register?action=addtocart",
data: {pid:pid ,user:user},
success:
function()
{
alert("Item has been added to cart");
},
error:
function()
{
alert("Item already present in the cart");
}
});
return false;
});
});
}
错误函数永远不会运行,数据库中的功能运行良好,但我没有看到Ajax中的错误消息。
下面是Java代码:public int addintocart(String user,int pid)
{
try
{
conn = obj.connect();
String sql="insert into cart(userid,product_id,quantity) values(?,?,?)";
ps1 = conn.prepareStatement(sql);
ps1.setString(1,user);
ps1.setInt(2,pid);
ps1.setInt(3,1);
ps1.executeUpdate();
}
catch(SQLException e)
{
e.printStackTrace();
}
catch(Exception k)
{
k.printStackTrace();
}
return x;
}
怎么了?
必须将错误作为servlet响应从Java发回。这里是一个例子:如何返回Java异常信息到jQuery。ajax REST调用?
另外,ajax错误函数中缺少一些参数。这可能是另一个问题。查看http://api.jquery.com/jquery.ajax/您应该评估错误并呈现适当的消息。
这个错误代码永远不会工作。AJAX的onerror事件仅在无法建立连接或URL不存在时运行。您必须从服务器返回一些东西,表明成功或失败。
我会这样做。
PHP(将此代码转换为JAVA):
if(success){
die(1);
} else {
if(notyetincart){
die(0);
} else {
die(2);
}
}
Jquery代码:
function add()
{
$(document).ready(function()
{
$('#addtocart').submit(function() {
//$('#add-button').prop('disabled',true);
var user = $('#user').val();
var pid = $('#pid').val();
$.ajax({
type: "post",
url: "/devilmaycry/register?action=addtocart",
data: {pid:pid ,user:user},
success:
function(response)
{
if(reponse==="1")
alert("Item has been added to cart");
else if(reponse==="0")
alert("Item could not be added to cart");
else alert("Item already present in the cart");
},
error:
function()
{
alert("Item could not be added to cart due to poor network connection");
}
});
return false;
});
});
}
希望能有所帮助
相关文章:
- 有没有任何方法可以从javascript进行跨域请求,并访问它可能生成的错误响应类型(401404等)
- 来自next()的Later.js错误响应
- 错误响应上的X-Frame-Options标头
- 无法将节点邮件程序错误响应从节点.js发送到角度.js
- 如何禁用基于 ajax 错误响应的元素
- 无法让模拟后端返回错误响应
- iOS Firefox XMLHttpRequest 错误响应
- 错误:调用 waitForCondition 时错误响应状态:13
- 添加对 jquery .submit() 的回调以读取上传的错误响应
- 为什么我的FB.api请求总是产生错误响应
- 如何在Jquery POST中获得HTTP错误响应代码?
- Javascript在读取cakephp发送的json服务器错误响应后表示未定义
- 如何在Angular上静默http错误响应
- 如何从PHP创建jqGrid JSON错误响应,然后使用jqGrid javascript对其进行响应?
- Javascript http get success函数捕获错误响应
- 在rails控制器中发回ajax错误响应
- 身份工具箱不工作-错误代码:IDP的错误响应
- 铁形式的错误响应体
- 如何在Ajax中获得错误响应
- 如何在ember js操作中获得龙卷风错误响应