2016-09-22 48 views
0

我需要理解为什么我的$ .ajax没有发送POST,而是发送GET到泽西岛?无法将表单数据作为json使用jQuery 3发布到泽西岛

我看到很多帖子在stackoverflow和其他网站/论坛没有成功。

这是我的客户端代码:

$('#formLookupUser').submit(function (event) { 

     var userFilter = { 
      "email" : $('#inputEmail').val(), 
      "firstName" :$('#inputFirstName').val(), 
      "lastName" : $('#inputLastName').val(), 
      "type" : $('#inputType').val() 
     }; 

     $.ajax({ 
      method: "POST", 
      url: "http://localhost:8080/newjersey/rest/user/filter", 
      data: JSON.stringify(userFilter), 
      contentType: "application/json" 
     }) 
     .done(function(response){ 
      showResults(response); 
     }) 
     .fail(function(jqXHR, textStatus){ 
      alert(textStatus); 
     }); 
}); 

,这是我的服务器代码:

@POST 
@Path("/add") 
@Consumes(MediaType.APPLICATION_JSON) 
public Response addUser(User user) throws SQLException { 

    logger.info("Inserting user ... "); 

    try{ 
     DBQueries q = new DBQueries(); 

     int idUser = q.insUserAndBankDetails(user); 
     user.setId(idUser); 

     return Response.ok("User successfully saved").build(); 

    }catch (SQLException e){ 
     return Response.serverError().entity(e).build(); 
    } 
} 

enter image description here

+0

在截图的网址和参数名称不匹配您的代码段... –

+0

你不妨碍您提交处理程序的默认操作,也许就是这样。 –

回答

0

我得到它的工作如下@JasonP建议。

问题是表单在我的$ .ajax调用之前提交了它的数据。

的解决办法是改变客户端为:

$(document).ready(function() { 

    $('#formLookupUser').submit(function (event) { 

     clearResults(); 

     var userFilter = { 
      "email" : $('#inputEmail').val(), 
      "firstName" :$('#inputFirstName').val(), 
      "lastName" : $('#inputLastName').val(), 
      "type" : $('#inputType').val() 
     }; 

     $.ajax({ 
      method: "POST", 
      url: "http://localhost:8080/newjersey/rest/user/filter", 
      data: JSON.stringify(userFilter), 
      contentType: "application/json" 
     }) 
     .done(function(response){ 
      showResults(response); 
     }) 
     .fail(function(jqXHR, textStatus){ 
      alert(textStatus); 
     }); 

     event.preventDefault(); // <--- Prevent Default action. 
    });