【问题标题】:Ajax Onclick Event is not going to the Server sideAjax Onclick 事件不会发送到服务器端
【发布时间】:2014-06-06 22:55:45
【问题描述】:

我在 html 中有以下代码,带有一个 HTML 按钮 ..

               Name*:<input type="text" name="name" id="name" value="" />
               <br />
               Your Email*:<input type="text" name="email" id="email" value="" />
               <br />
               Phone Number:<input type="text" name="phone" id="phone" value="" />
              <br />
               Mobile*:&<input type="text" name="mobile" id="mobile" value="" />
               <br />
               Country*:<input type="text" name="country" id="country" value="" />
               <br />
               Please Describe About Requirements:
               <textarea id="TextArea1" name="S1" rows="1"></textarea>

                 <br /><br />
                <input type="submit" name="submit" id="submit" value="Submit" />

现在我想做一个 ajax 点击事件来将数据发送到服务器端,但是我没有得到任何 XHR,而在服务器端看到代码时我也无法调试。我使用的是 Visual Studio 2010。

Ajax 代码..

         <script type="text/javascript">
         $(document).ready(function () {

             $('#submit').click(function (evt) {
                 evt.preventDefault();
                 var name = $('#name').val();
                 var email = $('#email').val();
                 var phone = $('#phone').val();
                 var mobile = $('#mobile').val();
                 var country = $('#country').val();
                 var textarea = $('#TextArea1').val();

                 var URL = 'getGriddahico.ashx?name=' + $('#name').val() + '&email=' + $('#email').val() + '&phone=' + $('#phone').val() + '&mobile=' + $('#mobile').val() + '&country=' + $('#country').val() + '&textarea=' + $('#textarea').val();

                 alert("hii");

             });

         });

         </script>

虽然我能够在警报框中获取 Hii.. 请帮帮我..

【问题讨论】:

  • 代码中的 ajax 调用在哪里?
  • 你想不写代码就做ajax??

标签: jquery html asp.net ajax


【解决方案1】:

您缺少 ajax 调用本身。

var URL = 'getGriddahico.ashx?name=' + $('#name').val() + '&email=' + $('#email').val() 
           + '&phone=' + $('#phone').val() + '&mobile=' + $('#mobile').val() + 
         '&country=' + $('#country').val() + '&textarea=' + $('#TextArea1').val();

$.ajax({
 url:URL,
 type: "GET",// default is GET (as you are sending data as parameter)
 success:function(result){}
});

【讨论】:

  • @user3699193,你的文本区域的 id 是什么?我认为它的 TextArea1。
  • 好的,现在我把它改成了
  • @user3699193。请不要将 id 更改为textarea。保留为TextArea1。更改 URL 值'&amp;textarea=' + $('#TextArea1').val()
【解决方案2】:

在你的点击函数中使用这种 AJAX 调用

$.ajax({ url: "test.html", context: document.body }).done(function() { $( this ).addClass( "done" ); });

【讨论】:

    【解决方案3】:

    进行这些修改

    var formData= {name:"abc",age:"15"}; // add more parameters like this which you want to send on server.
    
    $.ajax({
        url : "getGriddahico.ashx",
        type: "POST",
        data : formData,
        success: function(data, textStatus, jqXHR)
        {
            //data - response from server
        },
        error: function (jqXHR, textStatus, errorThrown)
        {
    
        }
    });
    

    【讨论】:

      【解决方案4】:

      将你的 html 包裹在 form 标签中,例如:

      <form id="form1"> </form>
      

      并更改您的 jquery 以提交表单事件而不是单击:

      $('#form1').submit(function (evt) { ... });
      

      当然,您还缺少 AJAX 本身...

      【讨论】:

        【解决方案5】:

        试试这个,它会帮助你....

        var URL = 'getGriddahico.ashx?name=' + $('#name').val() + '&email=' + $('#email').val() + '&phone=' + $('#phone').val() + '&mobile=' + $('#mobile').val() + '&country=' + $('#country').val() + '&textarea=' + $('#textarea').val();
        
        $.ajax({
           url:URL,
           success:function(){
               alert("Hii")
           }
        });
        

        【讨论】:

        • 我在 URL 中收到 textarea='undefined' 错误如何删除这个
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-22
        • 1970-01-01
        • 2021-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-01
        • 1970-01-01
        相关资源
        最近更新 更多