`
djlijian
  • 浏览: 29396 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

getJSON 用法

阅读更多

$.getJSON 的用法:

//判断数据库一条记录中是否存在相同的planCode,cityCode, useType记录
function checkPlanConfig(planCode,cityCode,useType){
  $.getJSON("getPlanConfigRecord.do",{"planCode":planCode,"cityCode":cityCode,"useType":useType},function(datas){
    for(var i = 0;i<datas.length;i++){
      if((planCode == datas[i].planCode) && (cityCode == datas[i].cityCode) && (useType == datas[i].useType)){
        alert("存在相同的险种、城市和车辆使用性质,请重新选择");
        document.getElementById("planCode").value="";
        document.getElementById("planCode").focus();
        document.getElementById("cityCode").value="";
        document.getElementById("useType").value="";
        return;
      }
    }
  });
}
----------------
  /**
   * 查看数据库中是否存在相同的planCode、cityCode和useType记录
   * @param request
   * @param response
   * @return
   * @throws Exception
   */
  @SuppressWarnings("unchecked")
  protected ModelAndView getPlanConfigRecord(HttpServletRequest request,HttpServletResponse response) throws Exception {
   
    Map<String,Object> params = new HashMap<String,Object>();
   
    params.put(Constants.PARAMETER_ACTION, "record");
   
    List<PlanConfig> list = (List<PlanConfig>)dispatchRequest(params, ServiceRequestID.PLAN_CONFIG_ACTION);
   
    JsonResponseUtil.writeJsonArray(list, response);
   
    return null;
  }
-----------------------
  /**
   * 将Array封装到Json中返回页面
   * @param objectArray String
   * @param response HttpServletResponse
   */
  public static void writeJsonArray(Object objectArray, HttpServletResponse response) {
    String jsonString = JsonUtil.toJsonArrayString(objectArray);
    singleInstance.responseJsonString(jsonString, response);
  }
-----------------------
/*
* Copyright (c) 2008-2010.
*
* This software is ......
*/
package com.tpaic.ec.web.util.json;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.util.JSONUtils;


/**
* This JsonUtil is a UTIL tool class for all the AJAX request.
*
* @Id JsonUtil.java
* @version
* @author Liuyc ;
* @Date Mar 27, 2009
*/
public class JsonUtil {
 
/** singleInstance */
private static JsonUtil singleInstance;

/**
* Convert the string data to JSON style.
*
* @param result
* @return
*/
public static String toJsonString(AjaxResult result) {
return singleInstance.generateJsonString(result);
}

/**
* Convert the data object to JSON style.
*
* @param data
* @return
*/
public static String toJsonObjectString(Object data) {
return singleInstance.generateJsonObject(data);
}

/**
* Wrapped the array object to JSON style.
*
*
* @param arrayObject
* @return
*/
public static String toJsonArrayString(Object arrayObject) {
return singleInstance.generateJsonArray(arrayObject);
}

/** JsonConfig contains others processors which want to affect on the JSON string.*/
private JsonConfig jsonConfig = new JsonConfig();

/**
* @param result
* @return
*/
public String generateJsonString(AjaxResult result) {
switch(result.getRequestType()) {
case AjaxResult.AJAX_SUBMIT:
return JSONObject.fromObject(result, jsonConfig).toString();
case AjaxResult.AJAX_DATA:
if(JSONUtils.isArray(result.getData())) {
return JSONArray.fromObject(result.getData(), jsonConfig).toString();
}
return JSONObject.fromObject(result.getData(), jsonConfig).toString();
default:
throw new RuntimeException(result.toString());
}
}

/**
* @param data
* @return
*/
public String generateJsonObject(Object data) {
return JSONObject.fromObject(data, jsonConfig).toString();
}

/**
* @param
* @return
*/
public String generateJsonArray(Object arrayObject) {
return JSONArray.fromObject(arrayObject, jsonConfig).toString();
}

public void init() throws Exception {
if(JsonUtil.singleInstance == null) {
JsonUtil.singleInstance = this;
}
}
}
-------------------
/*
* Copyright (c) 2008-2010.
*
* This software is ......
*/
package com.tpaic.ec.web.util.json;

import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;

/**
* Wrapped the JSON data to response.
*
* @Id JsonResponseUtil.java
* @version
* @author Liuyc ;
* @Date Mar 27, 2009
*/
public class JsonResponseUtil { 
 
  /** logger */
  private static Logger logger = Logger.getLogger(JsonResponseUtil.class);

  /** singleInstance */
  private static JsonResponseUtil singleInstance;

  /** contentType */
  private String contentType;

  /** charsetName */
  private String charsetName;

  /** jsonUtil */
  private JsonUtil jsonUtil;

  /**
   * constructor.
   */
  public JsonResponseUtil() {
    if (singleInstance == null) {
      singleInstance = this;
    }
  }

  /**
   *
  * @return JsonResponseUtil
   */
  public static JsonResponseUtil getInstance() {
    return singleInstance;
  }

  /**
   * 将String封装到Json中返回页面
   * @param jsonString String
   * @param response HttpServletResponse
   */
  public static void writeJsonString(String jsonString, HttpServletResponse response) {
    singleInstance.responseJsonString(jsonString, response);
  }

  /**
   * 将对象封装到Json中返回页面
   * @param data String
   * @param response HttpServletResponse
   */
  public static void writeJsonObject(Object data, HttpServletResponse response) {
    String jsonString = JsonUtil.toJsonObjectString(data);
    singleInstance.responseJsonString(jsonString, response);
  }

  /**
   * 将Array封装到Json中返回页面
   * @param objectArray String
   * @param response HttpServletResponse
   */
  public static void writeJsonArray(Object objectArray, HttpServletResponse response) {
    String jsonString = JsonUtil.toJsonArrayString(objectArray);
    singleInstance.responseJsonString(jsonString, response);
  }

  /**
   *
   * @param ajaxResult String
   * @param response HttpServletResponse
   */
  public static void writeAjaxResult(AjaxResult ajaxResult, HttpServletResponse response) {
    String jsonString = JsonUtil.toJsonString(ajaxResult);
    singleInstance.responseJsonString(jsonString, response);
  }

  /**
   * @return the contentType
   */
  public String getContentType() {
    return contentType;
  }

  /**
   * @param contentType
   *          the contentType to set
   */
  public void setContentType(String contentType) {
    this.contentType = contentType;
  }

  /**
   * @return the jsonUtil
   */
  public JsonUtil getJsonUtil() {
    return jsonUtil;
  }

  /**
   * @param jsonUtil
   *          the jsonUtil to set
   */
  public void setJsonUtil(JsonUtil jsonUtil) {
    this.jsonUtil = jsonUtil;
  }

  /**
   * Directly Send the JSON string to client.
   *
   * @param jsonString
   */
  public void responseJsonString(String jsonString, HttpServletResponse response) {
    responseJsonString(response, jsonString);
  } 

  /**
   *
   * @param data Object
   * @param response HttpServletResponse
   */
  public void responseJsonObject(Object data, HttpServletResponse response) {
    String jsonString = jsonUtil.generateJsonObject(data);
    responseJsonString(jsonString, response);
  }

  /**
   *
   * @param objectArray Object
   * @param response HttpServletResponse
   */
  public void responseJsonArray(Object objectArray, HttpServletResponse response) {
    String jsonString = jsonUtil.generateJsonArray(objectArray);
    responseJsonString(jsonString, response);
  }

  /**
   *
   * @param ajaxResult String
   * @param response HttpServletResponse
   */
  public void responseAjaxResult(AjaxResult ajaxResult, HttpServletResponse response) {
    String jsonString = jsonUtil.generateJsonString(ajaxResult);
    responseJsonString(jsonString, response);
  }

  /**
   *
   * @param charsetName
   */
  public void setCharsetName(String charsetName) {
    this.charsetName = charsetName;
  }
  /**
   * 初始化Json
   * @throws Exception Exception
   */
  public void init() throws Exception {
    if (StringUtils.isBlank(contentType) || StringUtils.isBlank(charsetName)) {
      throw new Exception("Both of contentType and charsetName are requied.");
    }
  }
  /**
   * Directly Send the JSON string to client.
   *
   * @param response
   * @param jsonString
   */
  public void responseJsonString(HttpServletResponse response, String jsonString) {
    response.setContentType(contentType);
    byte[] bytes;
    try {
      bytes = jsonString.getBytes(charsetName);
    } catch (UnsupportedEncodingException e) {
      throw new RuntimeException(e);
    }
    response.setContentLength(bytes.length);
    try {
      OutputStream os = response.getOutputStream();
      os.write(bytes);
      os.flush();
      if (logger.isDebugEnabled()) {
        logger.debug("Send the client" + jsonString);
      }
    } catch (IOException e) {
      logger.error("Exception happens.", e);
      throw new RuntimeException(e);
    }
  }
}

 

分享到:
评论

相关推荐

    JQuery 获取json数据$.getJSON方法的实例代码

    总结来说,本段内容详细介绍了JQuery中$.getJSON方法的使用,展示了通过$.getJSON方法在前端获取JSON数据,并在回调函数中处理这些数据的实例。同时,也演示了服务端如何返回JSON格式的数据。在理解这些知识点时,...

    Jquery getJson

    在本文中,我们将深入探讨`jQuery.getJSON`的工作原理、使用方法以及如何结合PHP进行数据交换。 ### 1. `jQuery.getJSON` 概述 `jQuery.getJSON`是jQuery AJAX方法的一种,专门用于从指定URL获取JSON格式的数据。...

    getJson+ashx实现数据交互(入门级)

    首先,让我们理解`getJSON`的基本用法。`getJSON`是jQuery中`$.ajax`方法的一个简化的版本,专门用来处理JSON数据。它接受三个参数:URL、回调函数和可选的设置对象。例如: ```javascript $.getJSON('Handler.ashx...

    getJSON解决 跨域问题例子

    接下来,我们来看看在实际应用中如何使用jQuery的getJSON方法。假设我们有一个API接口`http://api.example.net/data?callback=?`,其中`callback=?`表示让jQuery自动处理回调函数名。在JavaScript中,我们可以这样写...

    $.getJSON同步异步问题1

    $.getJSON是jQuery提供的一个方便的方法,用于获取JSON格式的数据,它默认是异步执行的。 $.getJSON的异步特性可能导致在并发执行多个请求时,回调函数的执行顺序并不与请求的发起顺序一致,这可能导致数据的混乱。...

    解决JQurey跨域问题$.get|$.post|$.getJSON等等统统可跨域

    本篇将详细介绍如何解决jQuery跨域问题,涉及的方法包括$.get、$.post和$.getJSON等。 首先,我们需要理解什么是跨域。同源策略是浏览器为保障安全而实施的一项机制,它规定JavaScript只能访问与当前页面同源(协议...

    getjson()兼容性问题

    ### getjson()兼容性问题详解 #### 一、问题背景 在使用jQuery进行Ajax操作时,开发者可能会遇到一些兼容性问题,尤其是在处理JSON数据时。本文将深入探讨jQuery中的`getjson()`兼容性问题,特别是在IE6等老旧...

    GetJson是从REST服务接收JSON数据的最简单HTTP库

    在这个例子中,`GetJson`类的构造函数接收API的URL,`execute()`方法执行GET请求,返回一个`Response`对象,我们可以进一步调用`getAsJsonObject()`来解析JSON数据。 "GetJson"库可能包含了如下功能: 1. **自动...

    C# url post get json

    综上所述,"C# url post get json"涉及的是使用C#进行HTTP请求(GET和POST)以及处理JSON数据。这通常在Web API交互、数据传输和网络通信中非常常见。理解并熟练运用这些概念对于任何C#开发者来说都至关重要。`...

    JQ getJSON获取数据

    通过查看和分析这些代码,开发者可以更直观地了解`getJSON`的使用方法,并将其应用到自己的项目中。 总之,`jQuery.getJSON`是JavaScript开发中的一个重要工具,它简化了JSON数据的获取过程,使开发者能够更专注于...

    详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()

    掌握这些函数的使用方法,对于构建高效、响应式的Web应用程序至关重要。在实际应用中,开发者应根据具体需求选择合适的函数,如需要发送大量数据或保护数据安全时,可以选择使用`$.post()`或`$.ajax()`;而在获取...

    jquery的getJson()方法获取服务端返回的JSON字符串

    然后,当用户在`#category`下拉框中做出选择时,我们再次使用`$.getJSON`获取对应的子类别列表,并将其填充到`#subcategory`下拉框。 值得注意的是,`$.getJSON`实际上是`$.ajax`方法的一个快捷方式,其默认设置是`...

    JQuery getJSON() 调用Servlet简单例子

    首先,我们来看`getJSON()`的基本用法。`getJSON()`接收三个参数:URL,数据(可选),以及一个回调函数。当服务器返回JSON数据时,这个回调函数会被调用。例如: ```javascript $.getJSON('url_to_servlet', {...

    ajax格式的getJSON

    本篇将基于提供的文件信息——“ajax格式的getJSON”,深入探讨AJAX的基本原理、getJSON方法的使用以及示例代码中的关键概念。 #### 一、AJAX概述 AJAX是一种在无需重新加载整个页面的情况下,能够更新部分网页的...

    jQuery使用getJSON方法获取json数据完整示例

    这些专题内容涵盖了更多关于jQuery操作JSON数据的技巧、插件使用方法和经典特效,能帮助开发者更深入地了解和掌握jQuery的高级用法。 通过本知识点的介绍,我们可以掌握如何使用jQuery的getJSON方法来获取和处理...

    sohu视频接口(下拉自动完成getJson)

    本教程将聚焦于如何利用Sohu视频接口结合JQuery的GetJSON方法来实现这一功能,同时使用AutoComplete插件进行辅助。 首先,让我们了解一下`GetJSON`。在JQuery库中,`$.getJSON()`是一个简洁的方法,用于从服务器...

    浅析$.getJSON异步请求和同步请求

    $.getJSON是jQuery库中用于发起异步AJAX请求的一个方法,它的目的是为了简化JSON数据的加载过程。在AJAX通信中,请求可以是异步的,也可以是同步的。异步请求不会阻塞后续代码的执行,而同步请求则会阻塞,直到请求...

    jQuery+ajax中getJSON() 用法实例

    在使用getJSON()方法时,通常只需要提供URL参数,这个URL是请求的服务器端资源地址。此外,还可以提供可选的data参数,用以发送一些数据到服务器端,这些数据将被附加在URL之后。另外,还可以提供一个可选的callback...

    用原生JavaScript实现jQuery的$.getJSON的解决方法

    文章提供了使用原生JavaScript来实现jQuery中的$.getJSON功能的方法,通过创建script标签并通过JSONP技术来绕过同源策略。这种方法可以减少不必要的库依赖,对于那些需要处理少量AJAX请求的简单Web应用尤其有用。...

Global site tag (gtag.js) - Google Analytics