Home >Web Front-end >JS Tutorial >Submit json data to action and parse it

Submit json data to action and parse it

高洛峰
高洛峰Original
2016-11-02 14:51:561562browse

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;
	}
}


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn