前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue中的ajax_创建vue实例

vue中的ajax_创建vue实例

作者头像
全栈程序员站长
发布2022-11-11 15:43:36
9110
发布2022-11-11 15:43:36
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

VUE

vue本身不支持发送AJAX请求,需要使用vue-resource、axios等插件实现 axios是一个基于Promise的HTTP请求客户端,用来发送请求,也是vue2.0官方推荐的,同时不再对vue-resource进行更新和维护

axios(不支持发送跨域的请求)
  • axios([options])
代码语言:javascript
复制
send() {
		axios({
			method: 'get', //只能用get
			url: 'user1.json',
			}).then(res => { //参数可以重复
			console.log(res.data);
			}).catch(res => {
				console.log(res);
			})
		},
  • axios.get(url[,options]); 传参方式: 1.通过url传参 2.通过params选项传参
代码语言:javascript
复制
Getsend() {
			axios.get('server.php', {
				params: {
					name: 'tom',
					age: '24',
				}
			}).then(re => {
				console.log(re.data);
			}).catch(re => {
				console.log("失败");
			})
		}
  • axios.post(url,data,[options]);
代码语言:javascript
复制
var vm = new Vue({
	el: '#c',
	methods: {
		Postsend() {
			axios.post('server.php', 'name=tom&age=20')//方法1,数据是死的
				.then(res => {
					console.log(res.data);
				}).catch(res => {
					console.log("错误");
				})
		}
	}
	});
代码语言:javascript
复制
Postsend() {
axios.post('server.php', this.user, { //需要this.user
	transformRequest: [function(data, headers) {
		let params = '';
	    for (let index in data) {
			params += index + '=' + data[index] + '&';
		}
		return params;
	}]
			}).then(resp => {
	console.log(resp.data);
}).catch(err => {
	console.log('请求失败:' + err.status + ',' + err.statusText);
	});
}

axios默认发送数据时,数据格式是Request Payload,并非我们常用的Form Data格式,所以参数必须要以键值对形式传递,不能以json形式传参 传参方式: 1.自己拼接为键值对 2.使用transformRequest,在请求发送前将请求数据进行转换 3.如果使用模块化开发,可以使用qs模块进行转换

vue-resource(支持发送跨域的请求)

使用this.$http发送请求

  • this.$http.get(url, [options])
  • this.$http.jsonp(url, [options])
  • this.$http.post(url, [body], [options])
代码语言:javascript
复制
//360浏览器
sendJ(){
	this.$http.jsonp('https://sug.so.360.cn/suggest',{
		params:{
			word:'a'
		},
	}).then(res=>{
		console.log(res.data.s)
	})
},
代码语言:javascript
复制
sendJB(){
	this.$http.jsonp('https://www.baidu.com/sugrec?pre=1&p=3&ie=utf-8&json=1&prod=pc&from=pc_web&sugsid=1465,21106,29074,29522,29518,29721,29568,29220',{
		params:{
			wd:'a'
		},
		jsonp:'cb',
	}).then(res=>{
		console.log(res.data);
	})
}

jQuery

jQuery load() 方法是简单但强大的 AJAX 方法。 load() 方法从服务器加载数据,并把返回的数据放入被选元素中。

代码语言:javascript
复制
$(selector).load(URL,data,callback);

HTTP GET 请求从服务器上请求数据。 可选的 callback 参数是请求成功后所执行的函数名。

代码语言:javascript
复制
$.get(URL,callback);

HTTP POST 请求向服务器提交数据。

代码语言:javascript
复制
$.post(URL,data,callback);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/187617.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月30日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • VUE
  • jQuery
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档