ajax的数据传递和ajax传输XML的数据
2020-03-28 20:05
106 查看
一、get方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="../jQueryLib/jQuery.max.js"></script> <style type="text/css"> *{ margin: 0; padding: 0; } </style> <script type="text/javascript" defer=""> $(function () { //get方式 $($('button')[0]).on('click', function () { var xhr = new XMLHttpRequest(); //创建XMLHttpRequest对象 xhr.open('get', './test02.php?username=李明'); //设置请求头,并get传递数据,异步传输 xhr.send(null); //发送空请求体,并发送请求 xhr.addEventListener('load', function () { //回调函数,在得到响应后进行处理 alert('你好,' + xhr.responseText); //打印 }) }); }) </script> </head> <body> <button>点我GET</button> <button>点我POST</button> </body> </html>
对应的test02.php文件
<?php echo $_GET['username'];
输出结果:
二、post方法
$($('button')[1]).on('click',function () { //post方式 var xhr=new XMLHttpRequest(); //创建XMLHttpRequest对象 xhr.open('post','./test03.php'); //设置请求头,并post传递数据,异步传输 xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded'); //post传递要确定数据的格式 xhr.send('username=李明'); //发送post请求体,并发送请求 xhr.addEventListener('load',function () { //回调函数,在得到响应后进行处理 alert('你好,'+xhr.responseText); //打印 }) })
对应的test03.php文件
<?php echo $_POST['username'];
结果:
同步传输
默认是异步传输,一般都不会使用同步传输
xhr.open('get', './test02.php?username=李明',false); xhr.open('post','./test03.php',false);
为了更好的兼容性
可以改一下回调函数
xhr.addEventListener('readystatechange',function () { if (xhr.readyState===4&&xhr.status===200){ alert('POST你好,'+xhr.responseText); } })
三、ajax传输XML的数据
上面的get和post可以传输比较简单的数据,因此有两种解决方法,一种是传输一个xml格式的dom树,另一种是json方法,这里介绍前一种方法。
XML文档
<?xml version="1.0" encoding="UTF-8" ?> <students> <uname>李玲</uname> <num>001</num> <gender>female</gender> <uname>李明</uname> <num>002</num> <gender>male</gender> <uname>李华</uname> <num>003</num> <gender>male</gender> </students>
PHP
<?php header('Content-type:text/xml','charset=utf-8');//告诉浏览器传回来的数据格式是XML $xml=file_get_contents('./lll.xml'); //读取xml文件 echo $xml; //返回一个xml类型的dom树
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="../jQueryLib/jQuery.max.js"></script> <style type="text/css"> *{ margin: 0; padding: 0; } </style> <script type="text/javascript" defer=""> $(function () { $('button').on('click',function () { var xhr=new XMLHttpRequest(); xhr.open('post','test03.php'); xhr.setRequestHeader('Content- type','Capplication/x-www-form-urlencoded'); //告诉服务器传输的数据类型 xhr.send($('input').val()); //发送请求 xhr.addEventListener('readystatechange',function () { if (xhr.status==200&&xhr.readyState==4){ console.log(xhr.responseXML.querySelector('uname').innerHTML); //因为xhr.responseXML返回的是一个xml类型的dom树,所以可以采取获取html的dom元素的方法去获取xml里面的数据 } }); }) }); </script> </head> <body> <input type="text" value="" size="20"/> <button>点我POST</button> </body> </html>
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 菜鸟必备教程,ajax与xml交互传输数据。
- 我的第七个AJAX的程序(XML数据传输)
- ajax 传值,Ajax: Asynchoronous Javascript and xml (异步的js和xml). 异步刷新,异步传递.替代表单提交数据,回调函数处理返回的数据
- XML与JSON比较,并用AJAX传输XML/JSON数据
- 可以传递多种数据格式AMFPHP,代替json和xml传输数据
- ajax json,xml,文本数据传递实例
- Ajax如何传输Json和xml数据
- 我的第八个AJAX程序(XML数据传输)
- 解如何利用 XML 和 JavaScript Object Notation 在 Ajax 客户端和 Java 服务器之间传输数据。
- ajax传输的数据格式(XML,json)怎么获取解析
- 解如何利用 XML 和 JavaScript Object Notation 在 Ajax 客户端和 Java 服务器之间传输数据(代码)(Oracle)。
- Ajax与jQuery-利用$.get()和$.post()方法传递html,xml,json数据
- 58-004-2 省级城市二级联动 ajax+servlet 通过xml传递数据.
- ajax 用xml传递数据
- Ajax传输Json和xml数据
- 通过AJAX将前端数据传输给后台
- ajax用json实现数据传输
- ajax向后台传递中文数据乱码问题
- JQuery中使用ajax传输超大数据的解决方法
- 利用python及XML进行数据、信息传输[下篇]——获取webservice内容、解析xml加工方案