导航:首页 > 编程语言 > 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数据相关的资料

热点内容
java调用oracle数据 浏览:827
怎么在服务器上上传小程序源码 浏览:304
空中加油通达信指标公式源码 浏览:38
分卷解压只解压了一部分 浏览:760
php网站自动登录 浏览:705
合肥凌达压缩机招聘 浏览:965
怎么找到文件夹的图标 浏览:235
linuxc编程pdf百度云 浏览:190
会计pdf下载 浏览:833
c开源cf源码 浏览:947
如何取消掉添加进app资源库 浏览:728
上海政务APP叫什么 浏览:812
黑马程序员一线薪资 浏览:110
滴滴app有青桔优惠券怎么用 浏览:123
删哪几个文件夹加速 浏览:29
创建电影源码爬取项目 浏览:453
java多余的空格 浏览:83
手机软件连接云服务器 浏览:888
内圆弧编程实例 浏览:48
饼干pdf 浏览:423