ホームページ > 記事 > ウェブフロントエンド > json データをアクションに送信して解析します
ajax将json数据提交到action并解析
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript" src="json2.js"></script> <script type="text/javascript"> var myAjaxObject; function AjaxTransferText() { var BigText = document.getElementById("BigText").value; var AjaxTransferObjectRef = new AjaxTransferObject("username", "password", 10, BigText); var JSONString = JSON.stringify(AjaxTransferObjectRef); if(window.ActiveXObject){ myAjaxObject = new ActiveXObject("Microsoft.XMLHTTP"); }else { myAjaxObject = new XMLHttpRequest(); } var urlString = "jsonString=" + JSONString; alert(urlString); myAjaxObject.open("POST", "getJSON.action"+"?timestamp" + new Date().getTime(),true); myAjaxObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") myAjaxObject.send(urlString); } function AjaxTransferObject(username, password, age, BigText){ this.username = username; this.password = password; this.age = age; this.BigText = BigText; } function AjaxTransferTextByget(){ var BigText = document.getElementById("BigText").value; var AjaxTransferObjectRef = new AjaxTransferObject("username", "password", 10, BigText); var JSONString = JSON.stringify(AjaxTransferObjectRef); if(window.ActiveXObject){ myAjaxObject = new ActiveXObject("Microsoft.XMLHTTP"); }else { myAjaxObject = new XMLHttpRequest(); } var urlString = "jsonString=" + JSONString; alert(urlString); myAjaxObject.open("POST", "getJSON.action"+urlString,true); myAjaxObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") } </script> </head> <body> <textarea rows="5" cols="45" id="BigText"></textarea> <br/> <input type="button" value="test" onclick="AjaxTransferText()"> <input type="button" value="test" onclick="AjaxTransferTextByget()"> </body> </html> Action代码如下: package controller; import com.opensymphony.xwork2.ActionSupport; import net.sf.json.JSONObject; public class GetJSON extends ActionSupport{ private String jsonString; public String getJsonString(){ return this.jsonString; } public void setJsonString(String jsonString){ this.jsonString = jsonString; } @Override public String execute() throws Exception { System.out.println(jsonString); JSONObject json = JSONObject.fromObject(jsonString); System.out.println("username=" + json.get("username")); System.out.println("password=" + json.get("password")); System.out.println("age=" + json.get("age")); System.out.println("BigText=" + json.get("BigText")); return null; } }