查询了一下jquery的文档,再看了一下网上的资料,自己试验了一下,已经通过,代码如下:
client js 代码:
- <script type="text/javascript">
- function test() {
- varurl = "http://yourip/your_dir/your_action.action?id=1&jsoncallback=?";
- $.getJSON(
- url,
- function (Json) {
- alert(Json.UserID);
- alert(Json.UserName);
- });
- }
- </script>
server action 代码:
- public void Test(){
- HttpServletResponse Response = ServletActionContext.getResponse();
- HttpServletRequest Request = ServletActionContext.getRequest();
- String jsoncallback = Request.getParameter("jsoncallback");
- String id = Request.getParameter("id");
- System.out.println(id + " @ " + jsoncallback);
- if (jsoncallback != null)
- {
- jsoncallback= (jsoncallback +"({\"UserID\":\"1234567890\",\"UserName\":\"admin\"})");
- }
- try {
- PrintWriter out = Response.getWriter();
- out.flush();
- out.println(jsoncallback);
- out.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
注意点,url后的“&jsoncallback=?”是不可以改变的,用到这块的可以试一下,有问题可以留言,以上代码俺已经测试通过