2016-03-31 25 views
0

私は次のajax javascriptを持っています。サーブレットはAJAX呼び出しで応答しません。コンソールから呼び出されたとき

マイjs

function updateCart() { 
    var numRooms = $("input[name='rooms']").val(); 
    $.post("../ShoppingCart", { 
     rooms: numRooms 
    }); 
    checkCart(); 
    } 

    function checkCart() { 
    $.get("../CartSize", function(resp) { 
     $('#cart').text(resp); 
    }); 
    } 

マイhtml

<button name="carryOn" onclick="updateCart()">Add to cart</button> 

のonclick = "updateCart()" 属性を持つボタンをクリックすると、サーブレットはリクエストを受信しますが、応答が空であります。 javascriptコンソールからupdateCart()関数を呼び出すと、コンテンツの応答が返されます。どうして? Servletは、レスポンスのHttpSessionセッションからのPrintWriterを使用してテキストを書き込みます。

私も解決

function updateCart() { 
var numRooms = $("input[name='rooms']").val(); 
$.post("../ShoppingCart", { 
    rooms: numRooms 
}, function() { 
    checkCart(); 
    }); 
} 
+0

ボタンのhtmlを表示できますか?要素がクリックされたときに関数が呼び出されることもありますか?オフハンドでは、 'onclick'ではなくclick(updateCart());'のようなイベントハンドラを使用することをお勧めしますが、それは実際の問題ではありません – DelightedD0D

+0

user3591541

+0

はい、確信しています。私はサーブレットにprintlnステートメントを含め、サーブレットに達して呼び出されます。ボタンのクリックから呼び出されると、応答はただ空です。 firefoxのjavascriptコンソールから呼び出された場合、応答は期待通りです。あなたの関数を追加してみてください。 – user3591541

答えて

0

を試してみました。この問題はボタンでした。明らかに、アクションが指定されていないときにページをリフレッシュします。入力タイプ= "ボタン"に変更すると修正されます。

+0

または、

関連する問題