A. ajax獲取json數據屬性
JSONArray json = JSONArray.fromObject(models); //list集合數據轉json
response.getWriter().println(json);//傳到前台
//ajax
success: function(data){
var models = eval("("+data+")");
var rows="";
for(var i in models){
rows =rows + "<tr>"+
"<td>"+models[i].statDate+"</td>早螞"+
"<td>"+models[i].endDate+"</td>"+
"慧睜擾<td>"+models[i].name+"</td>"+
"</tr>" ;
}
$("#show_table").append(rows);//添加到table
PS:這是Servlet的寫法
$('#send').click(function () {
$.ajax({
type : "GET"前旦,
url : "a.php",
dataType : "jsonp",
B. 原生js ajax post請求怎麽獲取json
獲取到的是text類型的數據
所以需要使用原生的JSON.parse將字元串轉為對象
C. Ajax怎麼獲取Json數據
$("a").click(function(){
$.ajax({
type:"get",
url:"test1.json",
dataType:"json",
success:function(response,status,xhr){
for(varpinresponse){
varli=$("<li>"+p+"</li>"),
arr=response[p];
varul=$("<ul>");
li.append(ul);
for(vari=0;i<arr.length;i++){
varlii=$("<li>");
varobj=arr[i];
for(varkinobj){
lii.append("<div>"+k+":"+obj[k]+"</div>");
}
ul.append(lii);
}
$("ul").append(li);
}
});
});
});
D. 用ajax時,如何在jsp頁面獲取json類型數據
把var json = eval(rangeValue);
換成eval("var json = " + rangeValue) ;
E. 使用原生的ajax如何去提交json格式的數據
//以post方式發送數據為例
function chuFa() { //html元素事件觸發的函數
var myXMLHttpRequest = null;
if (window.ActiveXObject) {
myXMLHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else {
myXMLHttpRequest = new XMLHttpRequest();
}
var url = "xxx.php";
var data = "key=val"; //val一般是從某個html元素中取出的value值
myXMLHttpRequest.open("post", url, true);
myXMLHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
myXMLHttpRequest.onreadystatechange = function(){
if (myXMLHttpRequest.readyState == 4 && myXMLHttpRequest.status == 200) {
var res = myXMLHttpRequest.responseText;
var jsonObj = eval("("+res+")");
//接下來就可以使用jsonObj這個json對象取出其中的屬性值,做一些修改html元素value值等操作了。
}
}
myXMLHttpRequest.send(data);
}
</script
F. ajax怎麼獲取返回的json數據
首先要明白ajax的基本格式,參考下面的內容,可以發現,success是請求成功後伺服器返回的數據,接收只需要把回調函數的值處理就可以了,如:
response:即為伺服器返回的數據,例如:{"uid":123,"name":"jghdream"},
如下輸出即可:
....
success:function(response){
console.log(response.uid);
console.log(response.name);
}
.....
以下是ajax的一些參數:
$.ajax({
type:'post',
url:'/testajax.php',
dataType:'json',
data:{uid:uid,rands:Math.random()},
success:function(){
alert('ajaxreturnsuccess');
}});
url,類型:String,默認值: 當前頁地址。發送請求的地址
data,類型:String,發送到伺服器的數據。將自動轉換為請求字元串格式。GET 請求中將附加在 URL 後。查看 processData 選項說明以禁止此自動轉換。必須為 Key/Value 格式。如果為數組,jQuery 將自動為不同值對應同一個名稱。如 {foo:["bar1", "bar2"]} 轉換為 '&foo=bar1&foo=bar2'
dataType,類型:String,預期伺服器返回的數據類型。如果不指定,jQuery 將自動根據 HTTP 包 MIME 信息來智能判斷,比如 XML MIME 類型就被識別為 XML。在 1.4 中,JSON 就會生成一個 javaScript 對象,而 script 則會執行這個腳本。隨後伺服器端返回的數據會根據這個值解析後,傳遞給回調函數。可用值:
"xml": 返回 XML 文檔,可用 jQuery 處理。
"html": 返回純文本 HTML 信息;包含的 script 標簽會在插入 dom 時執行。
"script": 返回純文本 JavaScript 代碼。不會自動緩存結果。除非設置了 "cache" 參數。注意:在遠程請求時(不在同一個域下),所有 POST 請求都將轉為 GET 請求。(因為將使用 DOM 的 script標簽來載入)
"json": 返回 JSON 數據 。
"jsonp": JSONP 格式。使用 JSONP 形式調用函數時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函數名,以執行回調函數。
"text": 返回純文本字元串
success,當請求之後調用。傳入返回後的數據,以及包含成功代碼的字元串。
G. asp如何獲取ajax()提交的json數據
bytecount = Request.TotalBytes
bytes = Request.BinaryRead(bytecount)
Set stream = Server.CreateObject("ADODB.Stream")
stream.Type = 1 'adTypeBinary
stream.Open()
stream.Write(bytes)
stream.Position = 0
stream.Type = 2 'adTypeText
stream.Charset = "utf-8"
s = stream.ReadText() 'here is your json as a string
stream.Close()
Set stream = nothing
Response.write(s)
得到的s就是json格式的字元串,就象{"userid":"apple","password":"test123456"}
然後再利用其它工具可以將json字元串中的相關信息提取出來。這個網上有很多示例。
H. 如何通過ajax在前台獲取json數據
看看這個。
$.ajax({
url:"http://www.sojson.com/json/",//您的請求地址
data:{"name":"張三"},//請求的數據,以json格式
dataType:"json",//返回的數據類型
type:"post",//默認為get
success:function(data){
//成功方法,返回值用data接收
},error:function(e){
//失敗方法,錯誤信息用e接收
}
});
I. 使用原生的ajax如何去提交json格式的數據
直接通過參數傳遞過去
params : {
jsondata : jsondata
}
然後再action里再處理。關鍵你的json格式的數據是否褲談有問題,
我是先定盯茄義一個數組,再胡則碰賦值,再把對象解析成字元串
var map = {};
map['SFZH']= sfzh;
……
var jsondata=JSON.stringify(map);
J. servlet怎麼獲取ajax傳過來的json數據
1.原生AJAX代碼
get請求:
//創建xhr,IE低版本不支持
var xhr = new XMLHttpRequest();
//servlet地址
var url="/Website01/index.view";
xhr.open("get", url, true);
//xhr處理事件,非同步
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
//在這里進行相關處理,通過xhr.responseText獲取後台反饋的文本
...
}
};
//xhr發送數據
xhr.send();
post請求:
post請求需注意要設置請求頭(setRequestHeader)
xhr.setRequestHeader(「Content-type」, 「application/json」);針對JSON數據
在xhr.send()中寫需要發送的JSON數據,例如:
xhr.send(JSON.stringify(data));1
2.Servlet基礎知識
Servlet是用Java編寫的伺服器端程序。其主要功能在於互動式地瀏覽和修改數據,生成動態Web內容。狹義的Servlet是指Java語言實現的一個介面,廣義的Servlet是指任何實現了這個Servlet介面的類,一般情況下,人們將Servlet理解為後者。
Servlet運行於支持Java的應用伺服器中(Tomcat)。從原理上講,Servlet可以響應任何類型的請求,但絕大多數情況下Servlet只用來擴展基於HTTP協議的Web伺服器。
在Java中,新建Servlet類繼承自HttpServlet,重寫doGet方法處理get請求,重寫doPost方法,處理post請求,通過
PrintWriter out = response.getWriter();通過out.write()輸出數據到前台的xhr.responseText,通過out.println()輸出頁面。
3.Servlet處理請求
處理請求通過HttpServletRequest類型,Get請求時查詢字元串直接編碼在請求鏈接中,格式為url+」?key1=value1&key2=value2」,通過getParameter(「key1」)來獲取值。
4.前後端傳遞JSON數據
前端傳遞JSON給Servlet
//程序片段,請求頭不能少
xhr.setRequestHeader("Content-type", "application/json");
var data={"name":"Tom","age":20};
xhr.send(JSON.stringify(data));1234
後端接受前端傳遞的JSON數據
//讀取請求傳遞過來的JSON格式數據,返回JSON字元串
private String readJSONData(HttpServletRequest request) {
StringBuffer json=new StringBuffer();
String lineString=null;
try {
BufferedReader reader=request.getReader();
while ((lineString=reader.readLine())!=null) {
json.append(lineString);
}
} catch (Exception e) {
System.out.println(e.toString());
}
return json.toString();
}
String json=readJSONData(request);
//將json字元串轉為java對象
Gson gson=new Gson();
Person person=gson.fromJson(json, Person.class);
說明
Gson為google處理JSON格式數據的jar包,可將JSON字元串轉換為對應的Java對象,也可將相應的Java對象序列化為JSON字元串。Person為定義的類,包含name和age欄位。readJSONData函數將前端請求中的JSON數據轉為java對象。
後端輸出JSON到前端
//後端程序片段,傳遞json數據給前端
Person person=new Person("Tom",20);
Gson gson=new Gson();
String json=gson.toJson(person);
out.write(json);
//前端程序片段,通過ajax獲取json數據
var xhr = new XMLHttpRequest();
var url="/Website01/index.view";
xhr.open("get", url, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
//獲取後台傳遞過來的字元串並轉換為json
var responseJson=JSON.parse(xhr.responseText);
var name=responseJson.name;
var age=responseJson.age;
}
};
xhr.send(null);
5.表單數據的處理
<form method="post" action="/Website01/index.view">
<label>Name:</label><input type="text" id="name1" name="name"><br>
<label>Age:</label><input type="number" id="age1" name="age"><br>
<input type="submit" id="submit" value="提交">
</form>12345
表單數據可以直接在form屬性中定義請求方法和請求路徑,在點擊submit按鈕後數據會直接提交並跳轉。如上的表單,在點擊按鈕提交後,後台使用request.getParameter(「key」)獲取數據,key值為input標簽的name值,而非id值.,即通過以下代碼獲取表單提交的數據。
String name=request.getParameter("name");
String age=request.getParameter("age");12
以上。