时间:2021-05-25
一般我们写网页的时候,如果用到 Ajax 请求服务器,都是使用 JQuery 等已经封装好的库来调用,比较简单。
但是一般这些库的功能很多,引入了太多我们用不到的东西,如果我们需要写一个功能单一,简单的页面,完全用不到引用如此庞大的库文件。
我们可以简单实现一个自己的 Ajax 请求功能,具体的代码如下:
var ajax = {};ajax.x = function () { if (typeof XMLHttpRequest !== 'undefined') { return new XMLHttpRequest(); } var versions = [ "MSXML2.XmlHttp.6.0", "MSXML2.XmlHttp.5.0", "MSXML2.XmlHttp.4.0", "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp.2.0", "Microsoft.XmlHttp" ]; var xhr; for (var i = 0; i < versions.length; i++) { try { xhr = new ActiveXObject(versions[i]); break; } catch (e) { } } return xhr;};ajax.send = function (url, method, data, success,fail,async) { if (async === undefined) { async = true; } var x = ajax.x(); x.open(method, url, async); x.onreadystatechange = function () { if (x.readyState == 4) { var status = x.status; if (status >= 200 && status < 300) { success && success(x.responseText,x.responseXML) } else { fail && fail(status); } } }; if (method == 'POST') { x.setRequestHeader('Content-type', 'application/x-ponent(data[key])); } ajax.send(url,'POST', query.join('&'), callback, fail, async)};使用方法: GET
ajax.get('/test.php', {foo: 'bar'}, function(response,xml) { //success},function(status){ //fail});POSTajax.post('/test.php', {foo: 'bar'}, function(response,xml) { //succcess},function(status){ //fail});这里需要注意一个问题,如果我们想要发送类似
var sendCmd = "?op_code=" + code + "&op_cmd=" + cmd;ajax.post('/control' + sendCmd,'',function(response,xml) { console.log('success');},function(status){ console.log('failed:' + status);});总结
以上所述是小编给大家介绍的原生JS写Ajax的请求函数功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
上一篇文章写到原生js取代jquery的一些常用函数:原生js仿jquery一些常用方法,那么,ajax如何实现呢?如下是一个比较完整的ajax()functi
使用bootstrap-paginator.js分页来进行ajax异步分页请求具体的做法如下:首先定义一个异步提交请求的ajax函数,其完整的函数如下:varn
Jquery的Ajax技术(重点)jquery是一个优秀的js框架,自然对js原生的ajax进行了封装,封装后的ajax的操作方法更简洁,功能更强大,与ajax
在做项目的时候,有时候需要用到异步数据请求,但是如果这个时候没有框架的依赖,就需要用到原生JS进行异步数据请求。这时候无非有两种请求方式,一种是AJAX,另一个
如下所示:$.ajax的主要参数:url:'_请求的地址',type:请求类型get&postdata:'请求的参数,success:回调函数$.ajax({u