❶ js如何获取ajax返回的json的数据
var obj = eval('(' + json + ')'); 或其他工具把json字符串转换为js对象 ,然后obj.id 这样访问
❷ AJAX 怎么获取JSON中的指定数据
假设你从ajax获取字符串为 ajaxString,则可以这样获取ID:
var jsonData = JSON.parse(ajaxString);
var id = jsonData.result.ID;
❸ ajax怎么取出json数据
你好,用遍历的方式取出data中的数据进行操作:
$.each(data,function(n,value){
alert(value.x+'---'+value.y);
});
❹ 怎么通过ajax从后台获取json数据
1.第一步:创建异步对象
var xhr=new XMLHttpRequest ();//创建一个异步对象。
上面创建异步对象的方法非浏览器都支持。IE7以上也支持。
2.第二步:创建http请求(只是打开和url的连接,并不会发送请求。)
var xhr=new XMLHttpRequest();
xhr.open("get","接口的地址","true");
//参数一:发送请求的方式:方式分别有post和get
//参数二:请求地址
//参数三:是否是异步提交true:异步,flase:同步提交
//如果使用post请求需要为post请求设置一个请求头(必须在发送数据之前)设置方法如下:
//xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
3.第三步:发送数据(get和post发送数据的方式不相同)
var xhr=new XMLHttpRequest ();//创建一个异步对象。
xhr.open("get","接口地址?name=zhangsan","true");
//在发送数据上需要注意的是get和post的发送方式
//get:数据需要拼接到open方法里面的URL地址里格式为URL?数据。(注意:get方式也还是需要调用send方法如不调用数据将不会发送)
//post:数据直接写到send方法里即可如下:
// xhr.send("name=zhangsan");
4.第四步:设置监听请求状态的回调函数
请求状态分为5步:
0.未初始化:异步对象创建出来但是还没有打开连接,(即未调用open方法)
1.已初始化:异步对象已经创建并且打开了连接(调用了open方法),但是还没有发送请求(未调用end方法)
2.已发送数据:已经调用了send方法,但web服务器响应还未返回
3.正在接收:web服务器接收完数据并且处理完毕后,向客户端发送响应结果
4.接收完毕:当web服务器响应的数据全部接收完毕
以上序号对应readyState的值
完整的是这样:
var xhr=new XMLHttpRequest ();//创建一个异步对象。
xhr.open("get","接口地址","true");
//下面的回调函数是会动态监听请求状态
xhr.onreadystatechange=function(){
//readyState属性会记录下5种请求状态
if(xhr.readyState == 4){
alert("web服务器响应的数据全部接收完毕")
}
}
❺ ajax获取到json数据怎么显示在jsp页面tb上
第一步:在你的Action中创建一个json数据
public class AjaxAction extends ActionSupport{ /** * */private static final long serialVersionUID = 1L; private String result; public String getResult() { return result; } public void setResult(String result) { this.result = result; }public String getjson() { JSONObject json = new JSONObject(); json.put("name","张三"); json.put("password","123456"); result=json.toString(); return SUCCESS;}
第二步:编写struts.xml文件中的内容
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <!-- 设置开发者模式 修改action中的名字可以不用重启服务器 --> <constant name="struts.devMode" value="true"></constant> <!-- 只有在后缀中有(.do)的才经过,这个value可以自己修改 --> <constant name="struts.action.extension" value="do"></constant> <!-- 开启动态方法调用 --> <constant name="struts.enable.DynamicMethodInvocation" value="true"/> <package name="default" extends="json-default" namespace=""> <action name="ajax" class="com.action.AjaxAction" method="getjson"> <result name="success">/ajaxjson.jsp</result> <result type="json" ><!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有对应的getter方法 --> <param name="root">result</param> </result> </action> </package> </struts>
凡是使用Struts2序列化对象到JSON的action,所在的package必须继承自json-default,注意,这里唯一的result,没有指定name属性。parm设置name=“root”表示局部刷新,返回根目录页面.
第三步:首先先了解Ajax的原理:这是用jQuery做的,需要引 js
function testCheck(num){ $.ajax({ type:"post",//提交方式url:"TestCheckServlet",//提交地址async:true,//是否异步请求dataType:"html",//返回类型data:{"num":num},//传过去的值success:function(data,textStatus){//成功执行的方法var json=eval("("+data+")");//将传过来的数据转json,也可以传过来就是json数据免得麻烦转 alert(json.name); }, error:function(){//失败执行的方法alert("error"); } }) }
❻ 如何取出 ajax返回的json数据
vartemp="";
$.ajax({
url:"",
async:false,//同步
success:function(data){
//$("#show1").html(data);//当async:true时是“异步”,只能在回调函数中获取值
temp=data;//当async:false时是“同步”,此时外面才能获取到回调函数中的值}
//array=data;
})
//如果data是json,可以使用
vararray=newArray();
❼ 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,当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。
❽ jQuery AJAX获取JSON数据
首先你要拥有一个 服务端Json接口。
然后, 通过Ajax调用接口
$.ajax({
type:'get',
url:'请求专接口地址',
dataType:'json',
success:function(res){
//请求成功,调用该方法,参数属res就是服务端返回的Json数据
},
error:function(err){
//请求失败,err中存放了错误信息
}
})
❾ ajax前台提交数据,Json数据在java后台怎么取出来
String json = request.getParamter("参数名");
获得字符串格式的json数据
❿ jquery ajax 怎样跨域获取 json 数据
jsonp是英文json with padding的缩写。它允许在服务器端生成script tags至返回至客户端,也就是动态生成javascript标签,通过javascript callback的形式实现数据读取。
html页面端示例代码:
复制代码代码如下:
//首先要引入jquery的js包
jQuery(document).ready(function(){
$.ajax({
type : "get", //jquey是不支持post方式跨域的
async:false,
url : "http://api.taobao.com/apitools/ajax_props.do", //跨域请求的URL
dataType : "jsonp",
//传递给请求处理程序,用以获得jsonp回调函数名的参数名(默认为:callback)
jsonp: "jsoncallback",
//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
jsonpCallback:"success_jsonpCallback",
//成功获取跨域服务器上的json数据后,会动态执行这个callback函数
success : function(json){
alert(json);
}
});
});
服务器端示例代码,以java为例:
服务器端代码,是重点,开始以为,只要客户端通过jsonp就可以直接跨域访问,其实不然,需要服务器端的支持才行。
复制代码代码如下:
public void jsonpTest() throws IOException{
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
//根据html指定的jsonp回调函数的参数名,获取回调函数的名称
//callbackName的值其实就是:success_jsonpCallback
String callbackName = (String)request.getAttribute("jsoncallback");
//简单模拟一个json字符串,实际可使用google的gson进行转换,次数通过字符串拼接
//{"name":"张三","age":28}
//\是对"号进行转义
String jsonStr = "{\"name\":\"张三\",\"age\":28}";
//最终返回的数据为:success_jsonpCallback({"name":"张三","age":28})
String renderStr = callbackName+"("+jsonStr+")";
response.setContentType("text/plain;charset=UTF-8");
response.getWriter().write(renderStr);
}