跳转的好处、跳转与ajax的结合、跳转与ajax_jQuery的结合

来源:互联网 发布:软件开发项目收获 编辑:程序博客网 时间:2024/06/06 09:24

这个隐藏的功能,我们最后实现了

点击隐藏按钮,跳出确认提示框,点击确认调用jQuery中的hide函数,以类似于ajax的方式实现列表中行的隐藏,但用了跳转的方式将id

传到了Controller中,然后一层一层把status的值update了。然后Controller中有重定向,对页面进行了刷新,自动跳转到了隐藏列表。


这个流程中,其实没有用到ajax,只是用了jQuery中的hide函数实现了隐藏,然后普普通通的传递参数改变状态。为什么采用这种方式?是因为我们

在页面顶端添加了已隐藏的数目,并且还要实现自动跳转。

这两个,我们都需要对页面进行刷新,尤其是跳转页面,当然不是ajax这种局部更新网页的技术可以做到的,原因我们之前也阐述过了,

是因为,重定向时,ajax会将重定向作为一个值返回给ajax代码,而不是对整个页面做操作。

自然,ajax存在的目的就不是为了刷新页面,

跳转这种刷新页面的操作,怎么能用ajax来实现呢?

这里也是一个值得反思的地方:

我们不想刷新页面达到操作,要局部更新网页,要用到ajax这种技术。

而我们要刷新网页的时候,就需要回归传统,用回刷新页面的方法。所以,并不是ajax高端就怎么样,每种技术都有各自的优劣,

技术只是工具,我们需要达到什么样的操作,就采用哪种技术,这样才是对的。


而在不需要顶端显示已隐藏条数、不需要实现自动跳转的时候,我们大可以用ajax,因为只需要hide,只需要传递参数。

既然都是传递参数,不刷新页面传递参数的ajax和需要刷新页面才能传递参数的跳转,我们当然选择前者,这里就体现出了ajax的价值。


所以最后我们的实现方式其实特别普通,就是JS+JAVA。只不过JS编程时,使用了jQuery简化了一下而已!


原先的代码如下:

JSP:

function toHide(id){if(confirm("确认要隐藏吗?")){$("#tr"+id).hide();updateStatus2Hide(id);}}function toShow(id){if(confirm("确认取消隐藏吗?")){$("#tr"+id).hide();updateStatus2Show(id);}}

function updateStatus2Hide(id){$.post("/ngtradebackend/complaint_manage/updatestatus2hide.html","id="+id);}function updateStatus2Show(id){$.post("/ngtradebackend/complaint_manage/updatestatus2show.html","id="+id);}

Controller中:

    /**     * 隐藏投诉     * @param request     * @param response     * @return     * @throws NgTradeBackendException     * @throws IOException     */    public ModelAndView updateStatus2Hide(HttpServletRequest request, HttpServletResponse response) throws NgTradeBackendException{    Long id=webStringUtil.getLong(request, "id");    complaintManageService.updateComplaint(id, 6, null, null, null, null, null, null, null);    //点击隐藏后自动跳转到隐藏列表    return null;    }        /**     * 取消隐藏     * @param request     * @param response     * @return     * @throws NgTradeBackendException     */    public ModelAndView updateStatus2Show(HttpServletRequest request, HttpServletResponse response) throws NgTradeBackendException{    Long id=webStringUtil.getLong(request, "id");    complaintManageService.updateComplaint(id, 3, null, null, null, null, null, null, null);    //点击取消隐藏后依然停留在隐藏列表    return null;    }

讲到这里,我们也可以认识到:jQuery正如它的定义一样,是一个 JavaScript 函数库。所以我们才用了它的hide函数做隐藏功能,

而ajax说白了也是js编程,当然可以用jQuery这个函数库来简化编程。

简言之,jQuery这个JS函数库简化了与JS编程有关的很多东西,包括ajax!!

这样看来,jQuery真是个好东西!

0 0
原创粉丝点击