原生ajax发送数据,以及不用的方法发送
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了原生ajax发送数据,以及不用的方法发送,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2075字,纯文字阅读大概需要3分钟。
内容图文
原生js发送ajax请求
4步:
//1. 实例化xhr对象
var xhr = new XMLHttpRequest();
//2. 调用open方法准备ajax请求
//参数1: 请求方式 (get、post、delete、put)
//参数2: 请求的服务器端的地址
//参数3: true(异步、默认)、false(同步)
xhr.open('get', '/getData');
//3. 调用send方法发送ajax请求
xhr.send();
//4. 调用onload事件,配合responseText来接收服务器端返回的数据
// xhr.responseText: 以字符串形式来接收服务器端返回的结果
// 服务器端返回的数据有两种可能:
// 1) 普通字符串(hello world \ I am xiaoming)
// 2) json字符串('{"id":"101", type:"goods", "name":"小米"}')
// json字符串都会使用 JSON.parse 转回成对象形式
xhr.onload = function () {
xhr.responseText
}
发送请求时get传参
get参数要拼接在url地址的后面,以?进行分割
var xhr = new XMLHttpRequest();
//参数2的位置用来拼接get参数, 以 ? 作为分隔符
// ?之前: 请求的url地址
// ?之后: 查询参数 key1=value1&key2=value2&...
xhr.open('get', '/getData?id=1&name=zs&age=20&...');
xhr.send();
xhr.onload = function () {
xhr.responseText
}
发送请求时post传参
post传参有三种方式: key=value&key=value&... FormData json字符串
//1. key=value&key=value&...
// application/x-www-form-urlencoded : 需要key=value这种结构的参数
var xhr = new XMLHttpRequest();
xhr.open('post', '/postData');
//将发送到服务器端的数据写成一个字符串
var str = 'id=1&name=zs&age=20&...'
//发送请求之前一定要设置请求头为 application/x-www-form-urlencoded
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
xhr.send(str);
xhr.onload = function () {
xhr.responseText
}
//2. 发送FormData类型的数据
//1) 直接获取整个post表单的数据
var fm = document.querySelector('form');
var fd = new FormData(fm)
//2) 实例化一个空的FormData,再向里面append数据
var fd = new FormData();
fd.append('name', 'xiaoming');
fd.append('age', 20);
fd.append('img', this.files[0]);
//发送ajax请求时,如果发送到服务器端的数据为FormData时,不需要设置请求头,需要将fd作为参数传入send
var xhr = new XMLHttpRequest();
xhr.open('post', '/postData');
xhr.send(fd);
xhr.onload = function () {
xhr.responseText
}
//3. 发送到服务器端的数据是json字符串
var jsonStr = JSON.stringify({name:"zs", age:20}); //'{name:"zs", age:20}'
var xhr = new XMLHttpRequest();
xhr.open('post', '/postData');
xhr.setRequestHeader('content-type', 'application/json');
xhr.send(jsonStr);
xhr.onload = function () {
xhr.responseText
}
原文:https://www.cnblogs.com/j-j-h/p/12056836.html
内容总结
以上是互联网集市为您收集整理的原生ajax发送数据,以及不用的方法发送全部内容,希望文章能够帮你解决原生ajax发送数据,以及不用的方法发送所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。