2016-09-22 11 views
0

私の$ .ajaxがPOSTを送信せず、ジャージにGETする理由を理解する必要がありますか?json 3を使用してjsonとしてフォームデータを投稿することはできません

私は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

あなたのスクリーンショットのURLとパラメータの名前が一致しない、あなたのコードスニペット... –

+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. 
    }); 
関連する問題