⑴ 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数据有两种方式:
定义和参数相同的变量,可以获得相对应的名字
可以通过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所在页面可以找到蛛丝马迹,当然每个页面都不一样,所以你别问我要死方法。 我给你指个思路:用火狐浏览器,监控页面信息