2016-08-01 6 views
0

AjaxとJS/Jqueryを使って簡単なContactフォームをClassic ASP(aspemail)に送信しようとしていて、ページからメッセージを送信しましたreload古典的なASP + Ajaxフォーム - 成功関数が正常に動作していません。

<form id="form-submit" action="ASPEmail.asp" method="post"> 
    Name<br> 
    <input id="name" type="text"><br> 
    E-mail<br> 
    <input id="email" type="text"><br> 
    Message:<br> 
    <textarea id="msg"></textarea><br> 
    <input type="submit" id="btn" value="SEND"> 
    <img src="loading.gif" class="loading"> 
    </form> 

マイASPEMAIL.ASPのみテストASPであると私は書く:

<% 
Response.Write("ok") 
%> 

そして、私のjQueryのスクリプト:

<script src="https://code.jquery.com/jquery-3.1.0.js"></script> 

<script> 
$(function() { 

    $("#form-submit").submit(function() { 
     var data = $(this).serialize(), 
      action = $(this).attr("action"), 
      method = $(this).attr("method"); 

     $(".loading").show(); // show loading div 
     $.ajax({ 
     url: action, 
     type: method, 
     data: data, 
     success: function(data) { 

      if(data === "ok") 
      { 
      document.location = "final.asp"; 
      } 

     }, 
     error: function(err) { 
      // there was something not right... 
     }, 
     complete: function() { 
      $(".loading").hide(); // hide the loading 
     } 
     }); 

     return false; // don't let the form be submitted 
    }); 

}); 
</script> 

私がテストに成功したリダイレクトを置く(私の目標メッセージのみ) - 何も起こりません。

送信後、画面に「LOADING」と表示されて非表示になり、送信と「完了」が機能しています。

何が悪いと思いますか?

+0

を持っています? ( 'succes:function(data){}'の 'if'関数の前に? – Sanderfish

+0

[ブラウザのコンソールを確認](http://webmasters.stackexchange.com/questions/8525/how-to-open-the- javascript-console-in-different-browser)を使用して、具体的に何が起こっているかを確認してください。 – SearchAndResQ

答えて

0

あなたがコンソールでそれをログインしたときに、 `返しdata`んどのようなデータという名前の2つの変数、私はあなたがここで「混乱」のjavascriptだと信じて、ここでは異なる変数を使用してみてください:)

success: function(dataReturned) { 

      if(dataReturned === "ok") 
      { 
      document.location = "final.asp"; 
      } 

     }, 
関連する問題