gpt4 book ai didi

java - jsp页面通过ajax发送到servlet,反之亦然

转载 作者:行者123 更新时间:2023-12-01 04:39:44 24 4
gpt4 key购买 nike

我通过ajax从jsp页面向servlet发送orderid,如果订单表的orderid不匹配,则会显示错误消息在同一 jsp 页面中,通过该消息可以很好地发出请求。现在我的问题是当我发送有效的 orderid 时它应该通过servlet将页面转发到另一个jsp页面,该页面没有发生并且也没有显示任何错误

jsp页面

  <input type="hidden" name=cmd  value="single"/>
Enter Order No <input type="text" name="oid" id="oidss" /><input type="button" value="Search" id="finduy" />

jquery代码

$('#finduy').click(function(event){

            $.ajax({
type:'POST',
url:"Order",
style:"full",
maxRows:12,
dataType:"json",
data:{"cmd":"single","oid":encodeURIComponent($('#oidss').val())},

beforeSend:function(){/*alert("data is sending")*/},
//problem is here
success:function(data,textStatus,jqXHR){
if(data.success){

}
else
{
alert("invalid Order No");
$('#oidss').val("");
$('#oidss').focus();


}

},
error:function(jqXHR, textStatus, errorThrown){
console.log('textStatus:' + textStatus);
console.log('errorThrown:' + errorThrown);
console.log("Something really bad happened " + textStatus);
console.log("jqXHR.responseText " +jqXHR.responseText);

$("#ajaxResponse").html(jqXHR.responseText);
}
});

servlet 代码

if(!(cmd==null)&&cmd.equalsIgnoreCase("single")){

        OrderDB odb = new OrderDB();
Order orders = new Order() ;
List<OrderDetail> odetaillist = new ArrayList<OrderDetail>();
List<Order> ordercustlist = new ArrayList<Order>();


String orderids = request.getParameter("oid");


try {
orders = odb.getOrdersById(orderids);
odetaillist = odb.getOrdersDetailsByOrderId(orderids);
ordercustlist = odb.getOrderFromCustomer(orderids);
Customer customerinfo = odb.getOrderCustomer(orderids);
request.setAttribute("OrderSingle", orders);
request.setAttribute("OrderDetail", odetaillist);
request.setAttribute("OrderCust", ordercustlist);
request.setAttribute("CustomerInfo", customerinfo);
redirect=orderinfo;
RequestDispatcher view = request.getRequestDispatcher(redirect);
view.forward(request, response);

if(orders.getOrderid() == null){
JsonObject myobj = new JsonObject();
myobj.addProperty("success", false);
PrintWriter out = response.getWriter();
out.print(myobj);
out.close();
return;
}



} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

最佳答案

您始终可以从 servlet 发回响应代码,然后执行转发。例如,您可以发送成功,在这种情况下您可以将 document.location 发送到新的 servlet 位置。

现在还可以使用 ajax 在 html5 中上传文件。

关于java - jsp页面通过ajax发送到servlet,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com