2013-12-12 38 views
0

我有一個簡單的表單,我發送到服務器,我使用jQuery ajax。jQuery的條件是真的,但它沒有提交

如果服務器上的所有內容都順利運行 - 它會以「OK」響應。

如果沒有,詳細的錯誤。

這是我的jQuery請求:

 $("#addnewcouponbtn").click(function() { 
      var texts = $("#addCouponForm .modal-body input"); 
      var bid = texts[0].value; 
      var image = texts[1].value; 
      var date = texts[2].value; 
      var time = texts[3].value; 
      var details = $("#addCouponForm .modal-body textarea").val(); 
      $.post("system/addnewcoupon.jsp", 
        {bid: bid, image: image, details: details, date: date, time: time}, function(data) { 
         alert(data); 
         if(data == "OK") 
          $("#addCouponForm").modal("hide"); 
         else 
          alert(An error occourd! " + data); 
      }); 
     }); 

這裏是我的addnewcoupon.jsp:

<%@page import="java.util.Date"%> 
<%@page import="entities.Coupon"%> 
<%@page import="implementations.Coupons"%> 
<%@page import="implementations.Businesses"%> 
<% 
    String bid = request.getParameter("bid"); 
    String image = request.getParameter("image"); 
    String details = request.getParameter("details"); 
    String date = request.getParameter("date"); 
    String time = request.getParameter("time"); 

    Businesses bm = Businesses.getInstance(); 
    if(bid == null || image == null || details == null || date == null || time == null) { 
     out.println("Please specify all arguments!"); 
     return; 
    } 

    int id = Integer.parseInt(bid); 
    if(!bm.isExist(id)) { 
     out.println("No such business ID"); 
     return; 
    } else { 
     Coupons master = Coupons.getInstance(); 
     int insertId = master.getLastId() + 1; 
     Coupon c = new Coupon(insertId, id, image, details, date, time); 
     master.addCoupon(c); 
     out.println("OK"); 
    } 
%> 

的問題是:

即使 「數據」 是 「OK」,jQuery的沒有按不去條件,

它打印An error occourd! OK。 (data =「OK」)

這裏有什麼問題?

+2

代碼甚至不應該運行..'else alert(An error occourd!「+ data);'在幾種方式中無效 – m59

+0

@ m59爲什麼代碼是錯的? – Billie

+0

'else {alert(」An錯誤發生!「+ data);}'方括號*可以被跳過,但可能不應該在多行上,字符串引號是必要的。 – m59

回答

1

更換

out.println("OK"); 

out.print("OK"); 

你應該知道的println()增加了一個新的換行。 「確定\ n」不會等於「確定」。

+0

謝謝你! – Billie

相關問題