精华内容
下载资源
问答
  • ajax请求json数据
    千次阅读
    2019-04-22 20:30:01
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>原生AJAX请求json数据</title>
    </head>
    <body>
        <div id="user"></div>
        <button id="btn"></button>
        <script>
            document.getElementById("btn").addEventListener("click",loadUser);
            function loadUser () {
                var xhr = new XMLHttpRequest();
                xhr.open("GET",user.json,true);
                xhr.onload = function (){
                    if(this.status == 200) {
                        var user = JSON.parse(this.responseText);
                        var outPut = '';
                        outPut += `
                            <ul>
                                <li>${user.id}</li>
                                <li>${user.name}</li>
                                <li>${user.email}</li>
                            </ul>
                        `;
                        document.getElementById("user").innerHTML = outPut;
                    }
                }
                xhr.send();
            }    
    
        </script>
    </body>
    </html>

     

    更多相关内容
  • 应该是每个web开发的人员都应该掌握的基础技术,需要的朋友可以参考下
  • 最近项目有这样一个需求,点击六大洲,出现对应的一些请求信息,展示在下面,当请求之后,第二次点击就不用再次请求了,究竟用代码怎么写呢,下面小编带领大家了解了解
  • 主要介绍了jquery获取JSON对象中数据的示例,代码中有注释,大家参考使用吧
  • 浅析ajax请求json数据并用js解析(示例分析).docx
  • jQ效果:ajax请求json数据案例-附件资源
  • 在编程过程中使用ajax调用数据的时候,难免要进行逻辑的处理,接受的数据也变的复杂比如数组类型的数据,这时候就需要使用JSON数据类型进行处理,通过本篇文章给大家介绍Ajax异步请求json数据,需要的朋友可以参考下...
  • AJAX请求服务端响应JSON数据

    千次阅读 2022-03-24 17:09:45
    AJAX请求服务端响应JSON数据 在实际工作中向服务端发送请求,返回的结果绝大多数都是json格式的数据。 案例: 在窗口下按下键盘任意按键,便会向服务端发送一个请求,服务端返回结果在div中呈现。 前端页面 <...

    AJAX请求服务端响应JSON数据

    在实际工作中向服务端发送请求,返回的结果绝大多数都是json格式的数据。

    案例:
    在窗口下按下键盘任意按键,便会向服务端发送一个请求,服务端返回结果在div中呈现。

    前端页面

    <style>
            #result{
                width: 200px;
                height: 100px;
                border: solid 1px #89b;
            }
    </style>
    <body>
        <div id="result"></div>
        <script>
            // 获取元素
            const result=document.getElementById('result');
            // 绑定键盘按下事件
            window.onkeydown=function(){
                // 发送请求
                const xhr= new XMLHttpRequest();
                // 设置响应体数据类型
                xhr.responseType='json';
                // 初始化
                xhr.open('GET','http://127.0.0.1:8000/json-server');
                // 发送
                xhr.send();
                // 事件绑定
                xhr.onreadystatechange=function(){
                    // 判断状态
                    if(xhr.readyState===4){
                        // 判断状态码
                        if( xhr.status>=200&&xhr.status<300){
                            // 检测请求是否能够发过去
                            console.log(xhr.response);
                            result.innerHTML=xhr.response;
                        }
                    }
                }
            }
        </script>
    </body>
    

    服务端文件 server.js

    // 引入express
    const express=require('express');
    
    // 创建应用对象
    const app=express();
    
    // json
    app.all('/json-server',(request,response)=>{
        // 设置响应
    
        // 设置响应头 设置允许跨域
        response.setHeader('Access-Control-Allow-Origin','*');
    
        // 设置响应体
        response.send('HELLO AJAX JSON');
    });
    
    // 监听端口启动服务
    app.listen(8000,()=>{
        console.log("服务已经启动...");
    })
    

    启动服务后,进入页面进行测试
    在这里插入图片描述

    由此得知确实是在

    response.send('HELLO AJAX JSON');
    

    得到响应

    我们的实际目标是要相应一个数据,并非是得到响应体。

    // 响应一个数据
    // 我们利用响应体来得到一个data对象
    const data={
        name:'zhanghan'
    };
    // data对象转换成字符串
    let str=JSON.stringify(data);
    // 响应体
    response.send(str);
    

    再此特别提醒,我们的data对象不能直接放到send()中去响应,因为send()所接收的是一个字符串,因此我们需要对data对象进行数据类型的转换。
    在这里插入图片描述

    由图可知,我们的得到的是一个JSON的字符串,为了提取里面的数据,我们通常有两种方法。
    1.手动转化

        let data = JSON.parse(xhr.response);
        console.log(data);
        result.innerHTML=data.name;
    

    结果:
    在这里插入图片描述

    2.自动转换

        // 设置响应体数据类型
        xhr.responseType='json';
    
        console.log(xhr.response);
        result.innerHTML=xhr.response.name;
    

    结果:
    在这里插入图片描述

    展开全文
  • 我们都知道,AJAX的一大限制是不允许跨域请求。 不过通过使用JSONP来实现。JSONP是一种通过脚本标记注入的方式,它是可以引用跨域URL的js脚本,不过需要提供一个回调函数(必须在您自己的页面上),因此,你可以自己...
  • 通过ajax对象请求JSON格式的数据1

    千次阅读 2021-09-19 10:00:30
    1.xxx.json文中,里面可以定义对象和数组。...2.通过ajax对象请求本地的json文件,获取里面保存的数据步骤:1.创建XMLHttpRequest对象,该对象就是ajax对象 。2..初始化请求:通过open()方法初始化请求,该方...

    1.xxx.json文中,里面可以定义 对象 和 数组。json文件中不能定义注释。注意:对象的属性名称必须用双引号引起来,字符串属性值必须用双引号引起来,不能使用单引号。

    {
        "name":"周杰伦",
        "age":20,
        "gender":"男",
        "isVip":true
    }

    2.通过ajax对象请求本地的json文件,获取里面保存的数据步骤:1.创建XMLHttpRequest对象,该对象就是ajax对象 。2..初始化请求:通过open()方法初始化请求,该方法的第一个参数是参请求方式,可选值包括:GET 和 POST. 该方法的第二个参数是请求地址:我们这里是请求一个本地的json文件。3.发送请求。4.通过onreadystatechange事件,监听请求数据的状态

    3.示例代码:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>JSON格式的数据</title>
        <style>
            #stu{
                width: 200px;
                height: 200px;
                border: 1px solid #ccc;
            }
        </style>
    </head>
    <body>
        <div id="stu">
            
        </div>
        <script>
            // 01.创建XMLHttpRequest对象,该对象就是ajax对象
            let xhr = new XMLHttpRequest()
            // 02.初始化请求
            // 通过open()方法初始化请求,该方法的第一个参数是参请求方式,可选值包括:GET 和 POST
            // 该方法的第二个参数是请求地址:我们这里是请求一个本地的json文件
            xhr.open('GET','./data/stu.json')
            // 03.发送请求
            xhr.send()
            // 04.通过onreadystatechange事件,监听请求数据的状态
            xhr.onreadystatechange = function(){
                // 读取状态值必须是4
                if(xhr.readyState===4){
                    // 状态码必须是200
                    if(xhr.status===200){
                        // JSON.parse()方法,用于将json格式的字符串转为js对象
                        // responseText属性里面保存的就是后台返回的数据
                        let stu = JSON.parse(xhr.responseText)
                        let p1 = document.createElement("p")
                        p1.innerHTML = "姓名:"+stu.name
                        let p2 = document.createElement("p")
                        p2.innerHTML = "年龄:"+stu.age
                        let p3= document.createElement("p")
                        p3.innerHTML = "性别:"+stu.gender
                        let p4 = document.createElement("p")
                        p4.innerHTML = "VIP:"+stu.isVip
                        document.querySelector('#stu').appendChild(p1)
                        document.querySelector('#stu').appendChild(p2)
                        document.querySelector('#stu').appendChild(p3)
                        document.querySelector('#stu').appendChild(p4)
                    }
                }
            }
        </script>
    </body>
    </html>

    展开全文
  • Ajax请求json

    千次阅读 2019-03-30 22:16:04
    文章目录将JSON数据显示到页面查询一个雇员信息取得List集合数据异步请求Map集合数据 将JSON数据显示到页面 发送异步请求,取得json数据,服务器端将json数据返回给js的回调函数之后,可以在回调函数中输出,但是...

    将JSON数据显示到页面

    发送异步请求,取得json数据,服务器端将json数据返回给js的回调函数之后,可以在回调函数中输出,但是最终目的不是仅仅将数据输出,而是要将这些json数据显示到页面,此时就需要借助js对dom的操作功能将数据生成到HTML页面了

    查询一个雇员信息

    emp.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="login.js"></script>
    </head>
    <body>
    	<a href="javascript:void(0)">取得一个雇员的信息</a>
    	<a href="javascript:void(0)">取得所有雇员的信息</a>
    	<br><br/>
    	<table border="1">
    		<tr>
    			<td>编号</td><td>姓名</td><td>职位</td><td>薪资</td><td>领导编号</td>
    			<td>入职日期</td><td>佣金</td><td>部门编号</td>
    		</tr>
    	</table>
    </body>
    </html>
    

    login.js

    //为超链接绑定事件,点击之后会发送请求
    $(function(){
    	$("a:first").click(function(){
    	$("tr:gt(0)").remove();
    	//发送请求
    	$.ajax({
    		type:"get",
    		url:"emp/get",
    		data:"id=7788",
    		dataType:"json", //表示可以跨域访问json数据
    		async:false, //锁定浏览器,只有请求处理完毕之后(回调函数调用完成之后),才能执行后面的代码
    		success:function(data){
    			//将数据添加到表格中
    			$("table").append("<tr>" +
    					"<td>" + data.empno + "</td>" +
    					"<td>" + data.ename + "</td>" +
    					"<td>" + data.job + "</td>" +
    					"<td>" + data.sal + "</td>" +
    					"<td>" + data.hiredate + "</td>" +
    					"<td>" + data.mgr + "</td>" +
    					"<td>" + data.comm + "</td>" +
    					"<td>" + data.deptno + "</td>" +
    					"<td><button>删除</button></td>" +
    					"</tr>");
    		}
    	})
    })
    })
    
    public void getEmpById(HttpServletRequest req, HttpServletResponse resp) {
    		//取得业务层实现类对象
    		IEmpService service = new EmpServiceImpl();
    		//取得要查询的雇员的编号
    		Integer empno = Integer.parseInt(req.getParameter("id"));
    		//将查询到的数据对象转换成JSON数据
    		String json = JSON.toJSONString(service.findEmpById(empno));
    		//将JSON数据直接输出给客户端(而不是将数据保存到request内置对象,跳转到JSP,使用EL表达式输出)
    		PrintWriter out = null;
    		try {
    			out = resp.getWriter();
    			out.print(json);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		out.close();
    	}
    

    在这里插入图片描述

    取得List集合数据

    修改业务层代码

    @Override
    	public Map<String, Object> findAllSplit(String kw, Integer cp, Integer ls) {
    		Map<String, Object> map = new HashMap<String, Object>();
    		try {
    			/*将list集合中的雇员按照职位进行分组,以键值对的形式保存到map集合中,
    				key是职位名称,value是该职位下所有雇员的List集合 */
    			List<Emp> list = this.empDAO.selectSplitAll(kw, cp, ls);
    			//调用分组的方法
    			//this.groupByJob(list, map);
    			map.put("list", list);
    			//统计数据量
    			//map.put("count", this.empDAO.selectCount(kw));
    		} catch (Exception e) {
    			e.printStackTrace();
    		}finally {
    			C3P0Util.close(conn);
    		}
    		return map;
    	}
    

    定义Servlet中的代码

    public void getEmpList(HttpServletRequest req, HttpServletResponse resp) {
    		IEmpService service = new EmpServiceImpl();
    		PrintWriter out = null;
    		try {
    			out=resp.getWriter();
    			//将list集合转换成JSON输出
    			out.println(JSON.toJSONString(service.findAllSplit("", 1, 100).get("list")));
    			out.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		} 
    	}
    

    定义js中的代码

    $(function(){
    	$("a:last").click(function(){
    	$("tr:gt(0)").remove();
    	//发送请求
    	$.ajax({
    		type:"get",
    		url:"emp/emp",
    		dataType:"json", //表示可以跨域访问json数据
    		async:false, //锁定浏览器,只有请求处理完毕之后(回调函数调用完成之后),才能执行后面的代码
    		success:function(data){
    			$.each(data,function(index){//data是要迭代的集合,index是索引
    				//将数据添加到表格中
    				$("table").append("<tr>" +
    						"<td>" + data[index].empno + "</td>" +
    						"<td>" + data[index].ename + "</td>" +
    						"<td>" + data[index].job + "</td>" +
    						"<td>" + data[index].sal + "</td>" +
    						"<td>" + data[index].hiredate + "</td>" +
    						"<td>" + data[index].mgr + "</td>" +
    						"<td>" + data[index].comm + "</td>" +
    						"<td>" + data[index].deptno + "</td>" +
    						"<td><button>删除</button></td>" +
    						"</tr>");
    			})			
    		}
    	})
    })
    })
    
    

    使用for循环遍历

    for(var index=0;index<data.length;index++){//data是要迭代的集合,index是索引
    				//将数据添加到表格中
    				$("table").append("<tr>" +
    						"<td>" + data[index].empno + "</td>" +
    						"<td>" + data[index].ename + "</td>" +
    						"<td>" + data[index].job + "</td>" +
    						"<td>" + data[index].sal + "</td>" +
    						"<td>" + data[index].hiredate + "</td>" +
    						"<td>" + data[index].mgr + "</td>" +
    						"<td>" + data[index].comm + "</td>" +
    						"<td>" + data[index].deptno + "</td>" +
    						"<td><button>删除</button></td>" +
    						"</tr>");
    			}			
    

    在这里插入图片描述

    异步请求Map集合数据

    修改业务层代码:

    public Map<String, Object> findAllSplit(String kw, Integer cp, Integer ls) {
    		Map<String, Object> map = new HashMap<String, Object>();
    		try {
    			/*将list集合中的雇员按照职位进行分组,以键值对的形式保存到map集合中,
    				key是职位名称,value是该职位下所有雇员的List集合 */
    			List<Emp> list = this.empDAO.selectSplitAll(kw, cp, ls);
    			//调用分组的方法
    			this.groupByJob(list, map);
    			//map.put("list", list);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}finally {
    			C3P0Util.close(conn);
    		}
    		return map;
    	}
    

    定义servlet中的代码:

    public void getEmpList(HttpServletRequest req, HttpServletResponse resp) {
    		IEmpService service = new EmpServiceImpl();
    		PrintWriter out = null;
    		try {
    			out=resp.getWriter();
    			//将list集合转换成JSON输出
    			out.println(JSON.toJSONString(service.findAllSplit("", 1, 100)));
    			out.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		} 
    	}
    

    emp.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <base href="/ServletProject/">
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/login.js"></script>
    </head>
    <body>
    	<a href="javascript:void(0)">取得一个雇员的信息</a>
    	<a href="javascript:void(0)">取得所有雇员的信息</a>
    	<div></div>
    </body>
    </html>
    

    login.js

    $(function(){
    	$("a:last").click(function(){
    	$("tr:gt(0)").remove();
    	//发送请求
    	$.ajax({
    		type:"post",
    		url:"emp/emp",
    		dataType:"json", //接收为JSON对象
    		//async:false, //锁定浏览器,只有请求处理完毕之后(回调函数调用完成之后),才能执行后面的代码
    		success:function(data){
    			alert(data);
    			//删除之前的数据再显示新的数据
    			$("table").remove();
    			$("h1").remove();
    			//迭代Map集合,data是要迭代的map集合
    			//key:每次迭代的键值对的key值就是职位名称
    			//value:每次迭代到的键值对的value值,就是当前职位下的所有雇员的集合
    			$.each(data,function(key,value){
    			 
    				$("div").append(
    					"<table id='"+key+"'border=1>"+
    						"<tr>"+
    							"<th>编号</th><th>姓名</th><th>职位</th><th>薪资</th>" +
    							"<th>入职日期</th><th>领导编号</th><th>佣金</th>" +
    							"<th>部门编号</th><th>操作</th>"+
    						"</tr>"+
    					"</table>"
    				);
    				//迭代value,value表示当前的职位下的所有的雇员的集合
    				//index,集合的索引
    				$.each(value,function(index){
    				var date = new Date(value[index].hiredate);
    				var strDate = date.getFullYear()+"-"+date.getMonth()+"-"+date.getDate();
    				if(value[index].comm==null){
    					value[index].comm="我没有佣金!";
    				}
    				if(value[index].mgr==null){
    					value[index].mgr="我是老板!";
    				}
    				$("#"+key).append("<tr>" +
    						"<td>" + value[index].empno + "</td>" +
    						"<td>" + value[index].ename + "</td>" +
    						"<td>" + value[index].job + "</td>" +
    						"<td>" + value[index].sal + "</td>" +
    						"<td>" + strDate + "</td>" +
    						"<td>" + value[index].mgr + "</td>" +
    						"<td>" + value[index].comm + "</td>" +
    						"<td>" + value[index].deptno + "</td>" +
    						"<td><button>删除</button></td>" +
    						"</tr>");
    			})	
    			})
    		}
    	})
    })
    })
    
    展开全文
  • ajax请求复杂的json数据实例,下载看看下载看看下载看看
  • <input type=text name=dishes value= class=seek_product placeholder=请输入菜名/> <button type='button' class=btn_nor onclick=seek_product()>搜索</button>...th width=70%
  • 主要介绍了jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作,结合实例形式分析了jQuery+Ajax请求json格式数据并渲染到html页面相关步骤与操作技巧,需要的朋友可以参考下
  • Ajax请求JSON数据回显到模态框(jsp回显) 说明 jsp数据回显,通过Ajax请求servlet,将查询到的数据返回给jsp页面或者模态框中显示,以便用户在更新数据时提高用户体验。 示例代码 我这里用了弹窗。我个人感觉我写...
  • ajax请求如下 $.ajax({ url:"/ap", type:"POST", data:{emails:a1}, contentType: "application/json; charset=utf-8", dataType: "json", success:function (res) {
  • 它在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页,ajax 使用XMLHttpRequest对象在后台与服务器交换数据,XMLHttpRequest 是 AJAX 的基础,它允许客户端 JavaScript 通过 HTTP请求连接到远程服务器...
  • 1、GET请求数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是...
  • 原生ajax发送请求得到json数据并渲染到table上 前言 本次例子只是一个小案例,首先我是使用php+mysql+Apache服务器写后端的,通过php查询mysql数据库中的数据,并将其转换为JSON格式。然后前端通过ajax发起 ‘GET’ ...
  • ajax请求解析json数据渲染在前端界面

    千次阅读 2019-11-25 01:19:18
    记录一个简单的demo,关于ajax请求解析json数据渲染在前端界面的~ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <meta name="viewpo...
  • post请求:...2、打断点,也没有发现错误,但是请求返回空数据的时候,没有报错,返回有数据的结果报错了。3、那应该是对象转Json的时候报错了,加...
  • $.ajax({ type : "POST", url : js_path + "/maintainAdd/add", data : JSON.stringify(madd_data.editMaintain), contentType : "application/json", dataType : "json", complete:function(msg) { layer....
  • ajax请求和解析json数据

    千次阅读 2019-06-16 19:58:18
    Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),是一种用于创建快速动态网页的技术一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,通过在后台与服务器进行少量数据交换,Ajax 可以使...
  • 自己学习jquery的ajax的经历,记录一下 ...在body里面放一个id为test的div <div id=test></div> 第一步还是要先加载jquery文件 ... //返回数据格式为json dataType: json, //请求成功完成后要执行的方法 success: fun
  • Ajax - 使用Ajax传递Json数据

    千次阅读 2020-11-24 11:35:34
    本小节,将重点学习JSON对象、JSON数组以及如何在Ajax中传递JSON数据。 JSON简介 (1)定义JSON对象和JSON数组 ①JSON对象 a.定义JSON对象 语法: 在JavaScript中,JSON对象是用大括号括起来,包含了多组属性。每个...
  • 今天小编就为大家分享一篇ajax请求后台得到json数据后动态生成树形下拉框的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 后端使用struts2框架,前端使用ajax两者相互交互,传递json格式数据
  • ajax请求返回Json格式数据,在网上有很多的处理方法,本文教大家如何循环输出成table形式,代码很详细,感兴趣的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 187,884
精华内容 75,153
关键字:

ajax请求json数据