日期:2014-05-17  浏览次数:20526 次

使用ajax将数据传参到另一aspx页面中进行数据更新,稳定性及传参数据长度相关若干疑惑求解
ASPX页面中有多个动态构成的Table数据(使用StringBuilder动态AppendFormat方式生成供用户输入数据)需要提交给数据库进行更新,只能使用document.getElementByName的方式在ASPX页面文件中用JS函数获取到客户动态操作后的数据,并使用AJAX传递到另一个ASPX页面中进行处理
简单实例:
        function Save() {
            var a = document.getElementById("Name").value;
            var s = document.getElementById("Code").value;

            $.ajax(
            {
                type: "post",
                url: "Save.aspx?Name=" + encodeURI(encodeURI(a)) + "&Code=" +encodeURI(encodeURI(s)),
                cache: false,
                success: function (msg) {
                }
            });   
            window.location=window.location;
            };

--具体的数据更新实现都放到Save.aspx页面中进行更新

疑惑一:点提交按钮有时不会正确跳转到Save.aspx页面中处理数据,这种情况10次操作中可能会出现一两次

疑惑二:在论坛中看到一个专家的回复:post方式并不是你指定了type:'POST'就行了。post不是将参数附加在url中的,而是在data中指定的。这个你没搞错吧?
(见贴:http://bbs.csdn.net/topics/390239080)

在有的复杂页面中,url中的参数传递内容会很多,大致也就是到360个字以下才能争取把数据传递并跳转到相应页面进行处理,如果超长则不能把内容传到相应页面处理

是否我上面的应用认识有误?而是应当把数据放到data中传递,这样也不会有长度的限制?

 
备注:本人初次应用AJAX
       一个页面中放置多个表格进行添加、删除数据是用户的要求,通过一个保存按钮进行全部数据的保存更新。

------解决方案--------------------
你一个页面提交到另一个页面为什么不用form表单,ajax的提交没有执行可能是被缓存了,可在ajax的url里加个当前时间参数保证每次都是新的请求。