JQuery load 请求资源不存在跳到了 404 页面。

今天在做一个内容网站时,遇到一个问题,描述如下:
一个文章页面( 页面a) 需要加载用户的评论内容页面( 页面b) ,  但是有些文章是没有评论的,也就是说 页面b可能不存在,
那样在使用 jQuery的load 方法加载时就会出现 404的情况,这个可以通过 ajax 的状态码去判断是否加载成功,但是因为配置了404的错误页面
所以ajax的状态码总是成功的,即请求总是有响应( 页面b或者 404页面)。
 
问题来了, 项目部署是采用apache + tomcat 的结构, apache主要负责静态资源(html, css, image, js..) , tomcat 主要负责动态的内容
在apache 和 tomcat 都配置了 404 的页面,所以就出现了以下的情况:
页面a 通过 jQuery 的load 方法加载 页面b 时, 页面b 不存在, 结果把 404 页面加载到了 页面a , 且 404 页面会自动跳转到首页。
这可怎么办呢: 我想了以下对策:
1:JQuery请求一个 action, 通过 action去判断页面b 是否存在,并读取以流的形式输出到页面a上,发现这样的效率比较低 (pass)
2:   JQuery请求一个 action, 通过 action去判断页面b 是否存在,告诉页面a , 然后再确定是否加载 页面b。 这个的话,每次都要请求两次服务器。(pass)
3:  最后思来想去,jQuery load() or ajax() 在加载页面b的时候总会返回一个页面(页面b或都404页面), 就通过 responseText.indexOf("404")>0 来判断请求到的是哪个页面,然后再确定是否将这个页面显示到页面a上。
 
最后采购了 第三种方案!





转载于:https://www.cnblogs.com/cookray/archive/2013/04/06/9fd82ba3c52ce6478a0b0f2406b45a64.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值