我在调用javaWebServlet时收到一个Ajax错误404



我在调用java WebServlet时收到Ajax错误404。ajax调用是:

var csID = $(this).find('option:selected').attr("name");
alert("csID: " + csID);
$.ajax({
type: "GET",
url: "CampSiteLocationView",
cache: false,
data : {
csId: csID,
},
}).fail(function() {
$("#updateLocation").val("");
alert("Failed");//This alert is shown
})
.done(function(campSiteAddress) {
dataType: "text",
alert("Completed");
$("#updateLocation").val(campSiteAddress);
});

WebServelet是:

@WebServlet("/CampSiteLocationView.java")
public class CampSiteLocationView extends HttpServlet implements Serializable {
private static final long serialVersionUID = 1L;
public String encoded_csId = null;
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("CampSiteLocationView: ");
//Get the variables
encoded_csId = request.getParameter("csId");
//Decrypt variables
byte[] valueDecoded9 = Base64.decodeBase64(encoded_csId);//decoding part
String csId = new String(valueDecoded9);
//Get the list of Camp Sites
String campSiteLocation = MySQLConnection.getCampSiteLocation(csId);
if (campSiteLocation == null || campSiteLocation.isEmpty()) {
response.getWriter().write("No Camp Sites.");
}else{
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(campSiteLocation);
}
}
}
  1. doPost()替换为doGet(),因为您的aJax调用type: "GET"

  2. @WebServlet上将/CampSiteLocationView.java替换为/CampSiteLocationView

您的方法应该调用doGet,因为您在Ajax调用中使用GET方法。

@Override 
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

相关内容

  • 没有找到相关文章

最新更新