文档章节

修改asp.net的Ajax变更为post请求的历程

梦游先生
 梦游先生
发布于 2016/04/02 20:30
字数 1110
阅读 58
收藏 0

    问题:项目在微信上查询出数据,点击加载更多加载出第二页数据,点击其中一个跳转至详细页面,这个时候按安卓机的返回键,会返回出第一次查询出的数据,而第二页的数据,不好意思请你在点击一次 加载更多。

    我们都知道Ajax的异步请求给我们带来很美好的用户体验感,但它的缺点也使的很多人在一些地方不得不放弃,而我很不幸的也遇到了这个问题,最终的结果我还是败下阵来,改用Post请求了。怎么想都是微信的错。

    项目在其它手机游览器上是没有问题,唯独在微信的游览器上就会出现返回的时候始终返回第一次Search的数据,个人认为这应该是微信游览器的设计问题,不过多瞎扯,在其它游览器上我们会发现,我们如何的下一页 上一页 或者从Ajax页面跳转到非Ajax页面返回的时候,始终都是能返回到你上一个页面,在UC 游览上,你也可以通过左右滑动屏幕来获取到你前后所打开过的页面,这个时候,我在想我是否也能借着这形势来解决,我现在的问题。

     微信上可没有UE游览器那样能让你左右滑屏,仅仅只有一个手机返回按钮,你只要触发返回所返回的请求必定是你上一次所与服务器产生交互的请求,于是我起初的想法是否能通过控制游览的返回url来处理我现在的问题,经过一番搜索后,我发现这并不是在我的能力范围内,而且我也没有那么多时间来处理,还没过试用期呢,后来在网上找到一篇博文给以了我一些灵感

http://blog.csdn.net/gf771115/article/details/18981363/ 各位可以去看一下,其中里面也有说到h5的两个有意思的东西 history.pushState 和 history.replaceState 但我始终无法处理返回以后再用Ajax去加载内容,所以不得不放弃使用H5的这两个,同时把 目标转移Hash上面,显然我成功的将地址更换了,并且也将添加进游览器历史记录,我本以为我成功了,结果发现无论我在第一次回车,地址栏无法发送请求到后台,在回车第二次成功了,但参数里的信息仍旧是第一次Search的查询条件Page=1,这使的我很沮丧,问题出在哪里呢,难道一定要真实与服务器产生交互才能达到我想要的效果吗?或者,是我写法有问题,这时候我不犹的感到忧心了,因为在做这些事上我已经花费了半天多的时间了,最终改用Post的请求,原有的页面处理请求过程是

由于要改成Post请求方式,那么加载更多的这种方式将不再适用了,唯有将其改成上一页和下一页,然后将上一页和下一页操作过程跟Serach流程一样,那么问题来了,我该如何获得每次返回的页数,起初朋友建议我是一起将值带回到页面存储到隐藏域里,但这里有个致命问题就是点击Serach的时候它是重新将ComList页面重新加载一次,于是我采用Cookie,并且利用url,Serach与查看分页中有个参数不同来处理 看代码:

虽然看起来并不高端,但这也是我目前所想到的解决方案。 

                                                                               Don't give up, don't give in!

 

© 著作权归作者所有

梦游先生
粉丝 0
博文 10
码字总数 5647
作品 0
广州
程序员
私信 提问
Asp.Net MVC 使用 Ajax

Asp.Net MVC 使用 Ajax Ajax 简单来说Ajax是一个无需重新加载整个网页的情况下,可以更新局部页面或数据的技术(异步的发送接收数据,不会干扰当前页面)。 Ajax工作原理 Ajax使浏览器和服务...

JoeSnail
2017/11/13
0
0
使用ASP.Net 3.5 的Ajax与Web服务开发实例

本文继续介绍使用ASP.NET3.5中的AJAX环境中如何从客户端JavaScript调用Web服务方法。编写本文的目的在于让大家深刻了解基于ASP.Net3.5的Ajax和Web的服务,虽然例子比较简单,但是比较能说明问...

高阳
2018/06/26
0
0
[asp.net mvc 奇淫巧技] 06 - 也许你的项目同一个用户的请求都是同步的

一、感慨 很久前看到一篇博客中有句话大致的意思是:“asp.net 程序性能低下的主要原因是开发人员技术参差不齐”,当时看到这句话不以为然,然而时间过的越久接触的.net 开发人员越多就越认同...

Emrys5
04/28
0
0
Asp.net MVC2中使用Ajax的三种方式

在Asp.net MVC中,我们能非常方便的使用Ajax。这篇文章将介绍三种Ajax使用的方式,分别为原始的Ajax调用、Jquery、Ajax Helper。分别采用这三种方式结合asp.net mvc去实现一个史上最简单的留...

王二狗子11
2018/01/01
0
0
通过Knockout.js + ASP.NET Web API构建一个简单的CRUD应用

较之面向最终消费者的网站,企业级Web应用对用户体验的要求要低一些。不过客户对“用户体验”的要求是“与日俱增”的,很多被“惯坏了”的用户已经不能忍受Postback带来的页面刷新,所以Aja...

长平狐
2012/09/04
659
0

没有更多内容

加载失败,请刷新页面

加载更多

Kylin构建Cube过程详解

1 前言 在使用Kylin的时候,最重要的一步就是创建cube的模型定义,即指定度量和维度以及一些附加信息,然后对cube进行build,当然我们也可以根据原始表中的某一个string字段(这个字段的格式...

大数据技术进阶
9分钟前
3
0
Git保存密码

保存密码 $ git config --global credential.helper store 参数 --global 设置全局,如果用 --local 则只设置当前库 要注意保存时是用明文保存的,所以不要在公用电脑使用...

编程老陆
10分钟前
4
0
ofcms 说明文档

一、模板说明 项目概述 java 版CMS系统、基于java技术研发的内容管理系统、功能:栏目模板自定义、内容模型自定义、多个站点管理、在线模板页面编辑等功能、代码完全开源、MIT授权协议。 技术...

kuchawyz
17分钟前
4
0
理解CSS相对定位和固定定位

本文转载于:专业的前端网站➦理解CSS相对定位和固定定位 前面的话   一般地,说起定位元素是指position不为static的元素,包括relative、absolute和fixed。前面已经详细介绍过absolute绝对...

前端老手
27分钟前
3
0
iOS Xcode升级包地址(感谢大神)

下载地址:DeviceSupport

_____1____
42分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部