2017-11-12 13 views
0

index.xhtmlのデータをリロードするPOST AJAXリクエストを送信しようとしています しかし、リクエストは決してサーブレットから受信されません。サーブレットがajaxリクエストを受信して​​いません

は、ここで私のAJAX呼び出している:

function changeStep(sub_step_id) 
{ 
    console.log('ok'); 
    $.ajax({ 
    type:"POST", 
    headers: { 
     'Authorization':'Basic xxxxxxxxxxxxx', 
     'X_CSRF_TOKEN':'xxxxxxxxxxxxxxxxxxxx', 
     'dataType': 'json', 
     'Content-Type':'application/json' 
    }, 
    data:{"sub_step_id":sub_step_id}, 
    url:'Shop', 
    success : function(data){ 
    console.log("sucess"); 
    location.href = url; 
    }, 
     error:function(e){ 
     // Error 
    } 
}); 
} 

私のサーブレットのdoGetとdoPostメソッドの両方の方法では実装されているが、要求は私のサーバーに到着したときに、それらのどれも呼び出されないされています。あなたが持っていないので、これはある

request call

+0

ブラウザのデバッグツールは何を示していますか? – stdunbar

+0

こんにちはstdunbar、私の質問に私のデバッグツールの画像を追加しました。 POSTは正しく送信されていますが、サーブレットは受信していないようです。 – kino

+0

POSTが送信されているように見えます - あなたのメソッドが呼び出されていないことをどのように知っていますか?サーブレット側からの応答はありません。 jQuery側では、サーブレット側で正しく処理できるように、 'contentType: 'application/json''と' dataType:' json''を追加パラメータとして使用します。 – stdunbar

答えて

0

ここ

<servlet> 
    <servlet-name>Shop</servlet-name> 
    <servlet-class>com.kino.front.homeManager</servlet-class> 
</servlet> 

要求コール:

@Override 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    process(request,response); 
} 
@Override 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    process(request,response); 
} 

私のサーブレットは、web.xmlのここ にマッピングされていることは、それの抽出物でありますそのサーブレットのURLをマップしました。このコードをweb.xmlに追加します。

<servlet-mapping> 
<servlet-name>Shop</servlet-name> 
<url-pattern>/shop</url-pattern> 
</servlet-mapping> 

・ホープこれはあなたの問題を解決します

+0

申し訳ありませんweb.xmlに既に存在しています URL http:// localhost/mywar/shopは既に動作していますが、ajaxによって呼び出されると失敗します。レスポンスありがとう。 – kino

関連する問題