首页 > 代码库 > jQuery_review之使用$.getScript()以及$.getJSON来与服务端进行异步信息交互
jQuery_review之使用$.getScript()以及$.getJSON来与服务端进行异步信息交互
jQuery还提供了两个非常实用的方法,分别是$.getScript()以及$.getJSON()。这个两个方法非常之重要,假设我们现在要编写一个框架,如果能在后台控制前台表格的动作,我们应该怎么做?肯定是要在后台向前台发送一个JavaScript,从而让前台的JavaScript执行,当然有很多方法,比如创建一个Script的节点放在DOM树中,或者是在HTML中增加一个<script>节点,都是解决这个问题的方法。但是getScript也不失是解决这个问题的一个很好地方案。
此外,现在JSON由于书写简便,传输数据比较小,数据冗余度好,而慢慢的大有取代XML的形式。Google也提供了很多第三方的可靠的json转换的解决方案。所以json的威力还是不能小瞧的。
使用jQuery的这两个方案,有几个要注意的点:这两个方法$.getScript()以及$.getJSON()都有两个参数,第一个参数是提供给jQuery向什么地址寻求资源,第二个就是资源返回之后,会提供什么样子的函数来调用上面的资源,第一个回调函数是用来执行上面的JavaScript方法中的函数,第二个回调函数则是用来解析刚刚获取的JSON的字符串。此外,JSON的格式是这样的{"name1":"value1","name2":"value2"},请注意里面的不是单引号,而是双引号,如果写成引号,可能会导致jquery无法解析上面的JSON字符串。最后,如何解析JSON?data[‘name1‘]以及使用$.each(data,function(idx,item){})来进行解析,要根据JSON的格式不同选择正确的解析方式。
前端的DEMO代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <script type="text/javascript" src=http://www.mamicode.com/"jquery-1.8.3.js"></script>>
后端的DEMO代码如下:
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String name = req.getParameter("name"); String address = req.getParameter("address"); StringBuffer sb = new StringBuffer(""); sb.append("{\"name\":\"") .append(name) .append("_czz\",\"address\":\"") .append(address) .append("_czz\"}"); resp.setContentType("html/JSON;charset=utf-8"); resp.getWriter().print(sb.toString()); }
程序中调用的JS代码如下:
function alertHtml(e){ alert(e.html()); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。