ホームページ  >  記事  >  ウェブフロントエンド  >  json データをアクションに送信して解析します

json データをアクションに送信して解析します

高洛峰
高洛峰オリジナル
2016-11-02 14:51:561516ブラウズ

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


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。