2016-08-01 24 views
0

用Ajax和JS/Jquery我試圖發送一個簡單的聯繫表單到經典的ASP(aspemail),併發送messagem從頁面沒有重新加載經典的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

這是什麼'data'回報,當你登錄在控制檯中? (in'succes:function(data){}',在'if'函數之前? – Sanderfish

+0

[檢查瀏覽器控制檯](http://webmasters.stackexchange.com/questions/8525/how-to-open-the- javascript-console-in-different-browsers)來查看究竟發生了什麼;尤其是網絡選項卡。 – SearchAndResQ

回答

0

你有2個變量命名的數據,在這裏嘗試使用不同的變量,因爲我相信你是「混亂」的JavaScript在這裏:)

success: function(dataReturned) { 

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

     },