jQuery ajax 传数据到后台,后台返回时success函数不执行问题

来源:互联网 发布:数据报送管理办法 编辑:程序博客网 时间:2024/06/05 05:22

</pre>困扰两天的问题终于解决了!!<p></p><p><span style="font-size:18px; color:#ff0000">jQuery ajax 传数据到后台,后台返回时success函数不执行问题  ??</span></p><p><span style="font-size:18px"> </span><span style="font-family:SimSun; font-size:14px">      最近写一个.net注册界面,想要前台输入的表单数据,通过ajax提交到后台,后台接收成功后,自动写入数据库,然后返回给前台一个成功状态。</span></p><p><span style="font-family:SimSun; font-size:14px">        一直测试,success函数不执行,不知道是什么问题,终于找到了答案,原来删除  dataType属性就可以了,后台程序某处之前调试时,echo了一些字符,这就破坏了浏览器的json格式,可能这样就不触发success方法了。</span></p><p><span style="font-family:SimSun; font-size:14px">期间遇到的问题:</span></p><p><span style="font-size:18px">1.前台向后台传递数据时,有两种方式: </span></p><p><span style="font-size:18px; background-color:rgb(0,153,0)">一. 通过form表单提交数据 (自动提交)</span></p><p></p><pre name="code" class="html">$(document).ready(function (e){form.submit();}); <form action="login.aspx"  method="post"><input     type="text"     name="user"/>.....<input     type="text"     name="***"/>......<input     type="text"     name="***"/>......<input     type="submit"   /></form>


这样,会自动调用系统的提交,系统会将含有name的input的值传递给后台。

后台:

Request.Form["user"]    接收数据


二.通过aiax提交表单:(手动提交)

function tijiao(){ <span style="white-space:pre"></span>var user = $.trim($("#user").val());                var password = $.trim($("#pasword").val());                var sex = " ";                if (document.getElementsByClassName("sex_div_1_pic")[0].style.backgroundPositionY == "-355px")                    sex = "男";                else                    sex = "女";                var birthday = $.trim(parseInt($("#year").val()) + "-" + parseInt($("#month").val()) + "-" + parseInt($("#day").val()));                var place = $.trim($("#province").val() + "-" + $("#city").val() + "-" + $("#county").val());$(ajax{ type: "post",                    url: "index.aspx",                    data: "user=" + user + "&password=" + password + "&sex=" + sex + "&birthday=" + birthday + "&place=" + place,                     //dataType: "text/plain", 前台提交的数据类型  (这个属性在调试的时候可能会不触发success的执行)                      contentType: "application/x-www-form-urlencoded",          //后台返回前台的数据类型                    success: function (data, status) {    
                                                      //这里的data是后台 Response.Write(user); 的数据                        alert(data+status);        }});}.............<input type="button" value="立即注册" onclick="tijiao()"/>



注意:

1.  data:$('#yourformid').serialize(),// 你的formid 

     serialize() 方法通过序列化表单值,创建 URL 编码文本字符串。
    序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。 

2.  在后台,还可以直接用控件的方法,直接获取表单里面的值,以此来实现前台后台的交互,这里实际上是通过隐藏表单实现的。也就是通过form表单

    提交数据 (自动提交)的。

3.后台返回前台的都是json,前台可以自动解析,前台传的数据最好也是json,带有一定的数据格式,方便操作。 





0 0
原创粉丝点击