繁体   English   中英

经典ASP + Ajax表单-成功功能不起作用,完整就可以

[英]Classic ASP + Ajax Form - success function not working, complete is ok

使用Ajax和JS / Jquery,我试图将一个简单的Contact表单发送到Classic ASP(aspemail),并从页面发送messagem 而不重新加载

  <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”出现在屏幕上并隐藏,然后提交和“ complete”工作。

知道有什么问题吗?

您有2个名为data的变量,请尝试在此处使用其他变量,因为我认为您在此处“混淆”了javascript :)

 success: function(dataReturned) {

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

         },

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM