区别:1、jquery中的ajax方法可以直接调用,而vue中不可以直接调用,因为vue本身不支持ajax请求,需要借助指定的插件才能实现;2、jquery中执行异步HTTP请求,语法为“$.ajax({type:...,url:...,data:...,success:...,dataType:...})”,而vue中借助插件的语法为“axios.get(url...)”。
本教程操作环境:windows10系统、jquery3.4.1版本、Dell G3电脑。
jquery和vue中的ajax有什么区别
jQuery中的ajax
ajax() 方法用于执行 AJAX(异步 HTTP)请求。
1.$.ajax()是jQuery中底层ajax实现,更高层的是$.get和$.post方法;
$(document).ready(function(){ $("#b01").click(function(){ htmlobj=$.ajax({url:"/jquery/test1.txt",async:false}); $("#myDiv").html(htmlobj.responseText); }); });
2.$.get方法,请求成功时的操作,如果想有请求失败时的操作,要使用$.ajax()
$(selector).get(url,data,success(response,status,xhr),dataType) $("button").click(function(){ $.get("demo_ajax_load.txt", function(result){ $("div").html(result); }); });
是$.ajax的简写
$.ajax({ url: url, data: data, success: success, dataType: dataType });
例子:
3.$.post方法
$("input").keyup(function(){ txt=$("input").val(); $.post("demo_ajax_gethint.asp",{suggest:txt},function(result){ $("span").html(result); }); });
是下面的简写
$.ajax({ type: 'POST', url: url, data: data, success: success, dataType: dataType });
4.$.getJSON()
通过HTTP get请求获得json数据
是下面的简写
5.两个重要的方法
.serialize() 将表单内容序列化为字符串;
.serializeArray() 序列化表单元素,返回JSON数据结构数据。
VUE中的Ajax
vue本身不支持ajax请求,需要借助vue-resource,axios插件
vue2官方推荐axios,是一个基于Promise的HTTP请求客户端,不再对vue-resource进行维护和更新;
axios([options]) axios.get(url[,options]);
传参方式:
1.通过url传参
2.通过params选项传参
axios.post(url,data,[options]);
axios默认发送数据时,数据格式是Request Payload,并非我们常用的Form Data格式,
所以参数必须要以键值对形式传递,不能以json形式传参
传参方式:
1.自己拼接为键值对
2.使用transformRequest,在请求发送前将请求数据进行转换
3.如果使用模块化开发,可以使用qs模块进行转换
axios本身并不支持发送跨域的请求,没有提供相应的API,作者也暂没计划在axios添加支持发送跨域请求,所以只能使用第三方库
视频教程推荐:jQuery视频教程
以上就是jquery和vue中的ajax有什么区别的详细内容,更多请关注自由互联其它相关文章!