2016-09-03 3 views
0

元のページのURLがhttp://localhost:8080/appname/help.action あるこのページはJavaScriptがページを更新代わりにフィールドを更新

<div id="message"></div> 

<form id="help_form" name="help_form" onsubmit="return validate_help_form()"> 
    ... 
    <input type="submit" value="Submit" /> 
</form> 

フォームを含むスクリプト

function validate_help_form() { 

    if (...) { 
      ... 
      return false; 
    } 

    $.ajax({ 

     url : 'http://localhost:8080/appname/question', 
     type : 'POST', 
     dataType : 'html', 
     success : function(result) {  
      console.log('^^^^^^^^^');  
      $('#message').text(result); 
     }, 
     error : function(xhr, ajaxOptions, thrownError) { 
      alert('Unable to receive result. ' + thrownError); 
     }, 
    }); 

} 

は、サーブレットが

logger.info("-----------"); 

try { 
    response.getWriter().append("a servlet result"); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
非常に簡単です

問題は、Ajaxリクエストが元のページが失敗した場合です再びパス「http://localhost:8080/appname/help.action」になります。しかし、私はajaxの結果でフィールドメッセージを更新したい。 だから私は

^^^^^^^^^ 
Navigated to http://localhost:8080/my-mates-ajax/help.action?username=... 

答えて

1

を取得し、コンソールに基本的には、まず、あなたが操作を行うことができ提出からフォームを防ぐために必要なこの

<form onsubmit="event.preventDefault(); return validate_help_form();"> 

を使用してみてください。さもなければ、フォームはajax要求の横に提出されます。

関連する問題