導航:首頁 > 編程語言 > Java獲取ajax數據

Java獲取ajax數據

發布時間:2022-05-20 03:41:44

⑴ jquery ajax 方法中傳遞的data參數,如何在java類中獲取

var params="username="+"1";

$.ajax({

type : "POST", //數據發送方式

url : "../servlet/clearCache",

dataType : "json", //接受數據格式 (這里有很多,常用的有html,xml,js,json)

data:params,//'date='+new Date(), 要傳遞的數據

success : function(msg) {

//console.info(data);

alert(msg.message);

},

error : function () {

alert("請求出錯!");

}

});

例如:

var username="niun";

var password="123";

params="username="+username+"&password="+password;

後台取得:

String username=request.getParameter("username");

String password=request.getParameter("password");

(1)Java獲取ajax數據擴展閱讀:

Jquery.Ajax()的data參數類型

類似「uname=alice&mobileIpt=110&birthday=1983-05-12「」這樣的字元串。

除了這三種類型,還可以是JSON字元串,形如:

{"name": "uname", "age": 18}

注意,這個地方不是json對象,是json字元串,字元串,這樣,在後台就可以直接注入到對象中。

當你需要向後台提交一組對象時時,json字元串的好處就體現出來了(對象數組)一般都是用post方法傳遞參數。

在jquery的ajax函數中,可以傳入3種類型的數據:

1.文本:"uname=alice&mobileIpt=110&birthday=1983-05-12"

2.json對象:{uanme:'vic',mobileIpt:'110',birthday:'2013-11-11'}

3.json數組:

[
{"name":"uname","value":"alice"},
{"name":"mobileIpt","value":"110"},
{"name":"birthday","value":"2012-11-11"}
]

所以,可以一鍵獲取表單並提交,非常方便。


⑵ 小白求教,java中怎麼獲取ajax發送的json數據

在JS中,一般是使用eval()函數將JSON的字元串解析成JSON數據格式。


測試代碼如下:

varobj=eval("("+data+")」);//轉為json對象
alert("return_code:"+obj["return_code"]);//彈出json對象return_code屬性


這邊需要注意的是,eval("("+data+")」)要這么寫,裡面還帶了一對括弧。原因在於:eval本身的問題。 由於json是以」{}」的方式來開始以及結束的,在JS中,它會被當成一個語句塊來處理,所以必須強制性的將它轉換成一種表達式。

⑶ java怎麼處理ajax

ajax是一種用來改善用戶體驗的技術,其實質是利用瀏覽器內置的一個特殊的對象
(XMLHttpRequest對象,一般稱之為ajax對象)非同步地(當ajax對象發請求時,瀏覽
器不會銷毀當前頁面,用戶任然可以對當前頁面做其他操作)向伺服器發送請求,
伺服器送回部分數據(並不是一個完整的頁面),利用這些數據更新當前頁面。整
個過程,頁面無刷新,不打斷用戶的操作

編程步驟:
step1,獲得ajax對象
比如:
var xhr=getXhr();
step2,發請求:
方式一:get請求
xhr.open('get','check_username.do?username=zs',true);
請求參數、請求資源路徑、是否非同步
注意:
a,get請求必須將請求參數添加到請求資源路徑的後面。
b,true表示非同步請求、false表示同步請求。
非同步請求:發請求時,瀏覽器不會銷毀當前頁面,用戶可以對當前頁面做
其他操作。
同步請求:發送請求時,瀏覽器不會銷毀當前頁面,用戶不可以對當前頁面
做其他操作。
xhr.onreadystatechange=f1;
xhr.send(null);
方式二:post請求
xhr.open('post','','')
step3,編寫伺服器端的處理程序,一般伺服器只需要返回部分的數據。
step4,編寫事件處理函數。
function f1(){
if(xhr.readyState==4){
var txt=xhr.responseText;
使用txt更新當前頁面...
}
}

java伺服器端處理ajax發送的請求,和處理其他請求是一樣的,只是在客戶端頁面表現的不同,比如:執行頁面發送刪除請求,伺服器端在執行刪除後,頁面是需要刷新的。

ajax最經典的用法是驗證碼,注冊頁面如果因為驗證碼輸入錯誤要刷新,之前的信息重填,估計用戶會崩潰,採用ajax非同步發送請求,就不會影響之前填寫的信息

⑷ java後台獲取網頁ajax數據和返回數據簡單源碼

1新建一個servlet xml中相應配置(一般自動)

2創建service方法

3接受參數,做操作,返回數據

比如頁面發送ajax請求到SomeServlet

$.post("SomeServlet的請求路徑",{param:"param"},function(data){
//data為返回的數據以json形式
alert(data.id+""+data.name+""+data.age);
},"json");

Servlet

publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriterout=response.getWriter();
Stringparam=request.getParameter("param");//獲取參數
//你的操作
//返回數據
Stringjson="{"id":1,"name":"張三","age":18}";
out.print(json);
}


⑸ java如何獲取含ajax的網頁數據

其實任何網頁的數據都是由 請求-響應 組成的,谷歌或者火狐 開了F12 選擇網路,點擊那個更多按鈕,你就可以獲取到他訪問的連接,後面不論普通的 httpclient 還是jsoup 都可以獲取到response內容了,個人感覺這樣的返回json的可能性很大,你先試試瀏覽器工具吧

⑹ ajax前台提交數據,Json數據在java後台怎麼取出來

varurl="/test/check";
$.ajax({
type:"post",
url:url,//data:"para="+para,此處data可以為a=1&b=2類型的字元串或json數據。
data:{"para":1},
cache:false,
async:false,
dataType:"json",
success:function(data,textStatus,jqXHR)
{if("true"==data.flag){
alert("合法!");returntrue;
}else{
alert("不合法!錯誤信息如下:"+data.errorMsg);returnfalse;
}
},
error:function(XMLHttpRequest,textStatus,errorThrown){
alert("請求失敗!");
}
});
/**
*校驗
*
*@returnvoid*/
publicvoidcheck(){
Map<String,String>result=newHashMap<String,String>();booleanflag=false;try{
Stringpara=getPara("para");//校驗代碼...
result.put("flag","true");
renderJson(result);//返回json數據
}catch(Exceptione){
result.put("flag",flag+"");
result.put("errorMsg",e.getMessage());
renderJson(result);//返回json數據
e.printStackTrace();
}
}

⑺ Java後台如何獲取前台傳入的ajax數據

獲取ajax數據有兩種方式:

  1. 定義和參數相同的變數,可以獲得相對應的名字

  2. 可以通過request來獲取相應的值

有的時候還有可能獲取一些cookie和session的值,這個可以用其相對應的方法來獲取

⑻ 如何用JAVA爬取AJAX載入後的頁面

普通的爬取是抓不了js的之後的數據的 可以用phantomjs或者htmlUnit實現
附上phantomjs示列代碼
package cn.wang.utils;

import java.util.Random;

import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.CookieManager;
import com.gargoylesoftware.htmlunit.;
import com.gargoylesoftware.htmlunit.WebClient;

public class htmlUnitUtils {

static WebClient webClient = null;

static Random random = new Random();

static{
//1.創建對象
webClient = new WebClient(BrowserVersion.CHROME);
//2.設置參數
//啟動js
webClient.getOptions().setJavaScriptEnabled(true);
//關閉css渲染
webClient.getOptions().setCssEnabled(false);
//啟動重定向
webClient.getOptions().setRedirectEnabled(true);
//設置連接超時時間 ,這里是10S。如果為0,則無限期等待
webClient.getOptions().setTimeout(1000 * 15);
//啟動cookie管理
webClient.setCookieManager(new CookieManager());
//啟動ajax代理
webClient.setAjaxController(new ());
//js運行時錯誤,是否拋出異常
webClient.getOptions().(false);
//設置瀏覽器請求信息
webClient.addRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
webClient.addRequestHeader("Accept-Encoding", "gzip, deflate");
webClient.addRequestHeader("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");
webClient.addRequestHeader("Connection", "keep-alive");
webClient.addRequestHeader("Upgrade-Insecure-Requests", "1");
}

public static void runJs(String url){
try {
webClient.addRequestHeader("User-Agent", Constant.useragents[random.nextInt(Constant.useragents.length)]);
//等待js渲染執行 waitime等待時間(ms)
webClient.waitForBackgroundJavaScript(1000 * 10);
//3.獲取頁面
webClient.getPage(url);
} catch (Exception e) {
e.printStackTrace();
} finally {
if(webClient != null){
webClient.close();
}
}
}

public static void main(String[] args) {
runJs("http://www.gou.hk/");
System.setProperty("phantomjs.binary.path", "D:\\works\\tool\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");

}
}

⑼ java如何接收ajax傳遞的json類型的數據

主要是賦值給Map就行。
json數據格式為:
{name:'張三',age:20}這樣的不是數組時,
在java中new一個Map對象獲取,如
Map<String,String> map = (Map<String,String>)request.getParament("json");
然後獲取name為:map.get("name");
如果json數據為數組:
[{name:'張三',age:17},{name:'李四',age:20}]
在java中new一個
List<Map<String,String> maplist = (List<Map<String,String>)request.getParament("json");

⑽ Java怎樣獲取網頁上ajax之後的內容

ajax頁面是動態生成了,直接抓不到。不過也不是沒有途徑的,通常找到該ajax通道地址還是能獲取到裡面的內容的。 從ajax所在頁面可以找到蛛絲馬跡,當然每個頁面都不一樣,所以你別問我要死方法。 我給你指個思路:用火狐瀏覽器,監控頁面信息

閱讀全文

與Java獲取ajax數據相關的資料

熱點內容
python導出sap 瀏覽:513
車智匯app如何下載 瀏覽:434
python如何將圖片輸出到雲伺服器 瀏覽:838
貴陽螺桿壓縮冷凝機組組成 瀏覽:115
掃描製作pdf 瀏覽:515
2016奇駿車機如何安裝app 瀏覽:764
phpvc9x64 瀏覽:73
蜜語星球解壓 瀏覽:476
c語言編譯器怎麼打不開 瀏覽:818
海印程序員 瀏覽:648
為什麼華為手機找不到伺服器 瀏覽:664
pdf增減 瀏覽:608
雲伺服器怎麼公網架設網站 瀏覽:91
pythonrequests慢 瀏覽:140
excel保存沒有pdf 瀏覽:922
冰箱壓縮機管囗示意圖 瀏覽:497
許振民編譯局 瀏覽:625
雙網路加什麼伺服器好用 瀏覽:211
linux命令中文 瀏覽:839
python怎麼做物聯網 瀏覽:731