原生js和jquery发送ajax请求及封装

原生js                                  

// ajax get 五部曲
function ajax_get(url,data){
// 异步对象
var ajax=new XMLHttpRequest();
// 设置url和请求方式
// url方法 如果有数据要把数据拼接到url中?name=jack&age=20
if(data){
url+=?;
url+=data;
}else{};
ajax.open(‘get‘,url);
// 发送请求
ajax.send();
// 注册事件
ajax.onreadystatechange=function(){
if(ajax.readyState==4&&ajax.status==200){
// 在事件中获取数据并修改页面
console.log(ajax.responseText);
}
}
}

// ajax post请求 五部曲
function ajax_post(url,data){
// 创建异步对象
var ajax=new XMLHttpRequest();
// 设置url和请求方式
ajax.open(‘post‘,url);
// 设置请求报文
ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
// 发送请求 name=jack
if(data){
ajax.send(data);
}else{
ajax.send();
}
// 注册事件
ajax.onreadystatechange=function(){
if(ajax.readyState==4&&ajax.status==200){
console.log(ajax.responseText);
}
}
}

// 将 get 跟post 封装到一起

/*
参数1:url
参数2:数据
参数3:请求的方法
参数4:数据成功获取以后 调用的方法
*/
function ajax_tool(url,data,method,success) {
// 异步对象
var ajax = new XMLHttpRequest();

// get 跟post 需要分别写不同的代码
if (method==‘get‘) {
// get请求
if (data) {
// 如果有值
url+=‘?‘;
url+=data;
}else{

}
// 设置 方法 以及 url
ajax.open(method,url);

// send即可
ajax.send();
}else{
// post请求
// post请求 url 是不需要改变
ajax.open(method,url);

// 需要设置请求报文
ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");

// 判断data send发送数据
if (data) {
// 如果有值 从send发送
ajax.send(data);
}else{
// 木有值 直接发送即可
ajax.send();
}
}

// 注册事件
ajax.onreadystatechange = function () {
// 在事件中 获取数据 并修改界面显示
if (ajax.readyState==4&&ajax.status==200) {
// console.log(ajax.responseText);

// 将 数据 让 外面可以使用
// return ajax.responseText;

// 当 onreadystatechange 调用时 说明 数据回来了
// ajax.responseText;

// 如果说 外面可以传入一个 function 作为参数 success
success(ajax.responseText);
}
}

}

jQuery 发送ajax请求                                

时间: 2024-10-11 23:01:11

原生js和jquery发送ajax请求及封装的相关文章

JQuery发送ajax请求不能用数组作为参数

JQuery发送ajax请求不能用数组作为参数,否则会接收不到参数, 一.js代码如下: $('#delete-button').click(function(){        var selectedMembers = document.getElementsByName('selectedMembers');        var cwIds = new Array(); //定义数组        for(var i=0;i<selectedMembers.length;i++){  

【第2章第300回】原生JS与jQuery对AJAX的实现

一.定义 W3C里这么解释AJAX: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).AJAX 不是新的编程语言,而是一种使用现有标准的新方法.AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下. 就是利用JS来无刷新与后端交互,通过get和post方式把数据发送到后端,或者请求后端的数据,然后根据请求的数据进行改变DOM节点等操作,从而取消掉用form的submit方式一提交就会跳转页面的情况

IE9下JQuery发送ajax请求失效

最近在做项目的时候,测试PC端网页,在IE9下会失效,不能正常的发送POST请求,经过仔细的排查,发现是IE9下JQuery发送ajax存在跨域问题. 目前有两种解决方案:   解决方案一: 设置浏览器安全属性,启用[通过域访问数据源]选项,如下图所示:    解决方案二:  调用ajax方法时,设置crossDomain为true,如下图所示: <!DOCTYPE html> <html> <head> <title>jQuery CORS in IE7

jQuery发送ajax请求三种方式

<button>点击发送ajax get请求</button> <button>点击发送ajax post请求</button> <button>点击发送通用的ajax请求</button> <script type="text/javascript" src="jquery-1.8.3.min.js"></script> <script type="te

jQuery发送Ajax请求以及出现的问题

普通jQuery的Ajax请求代码如下: $.ajax({ type: 'POST', url: "http://xxx/yyy/zzz/sendVerifyCode", data:{ phoneNo:$(".tel").val() }, success: function(data){ $.toast("发送成功", "text") }, error: function(){ $.toast("发送失败"

前端跨域之Jsonp的原生请求和Jquery的ajax请求,简单易懂。

前言 :本文示例部署在XAMPP建站集成软件包上,在localhost环境下进行测试 1.什么是跨域 由于浏览器同源策略,凡是发送请求url的协议.域名.端口三者之间任意一与当前页面地址不同即为跨域.存在跨域的情况 : (1)网络协议不同,如http协议访问https协议. (2)端口不同,如8080端口访问3000端口. (3)域名不同,如aaaa.com访问bbbb.com. (4)子域名不同,如java.ddd.com访问qianduan.ddd.com. (5)域名和域名对应ip,如ww

jquery发送ajax请求返回数据格式

1 jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. 2 3 1.html格式的数据 4 5 "<div class='comment'><h6> "+username+" :</h6><p class='para'> "+content+" </p></div>" 6 7 服务器端返回数据格式是html片

JQuery发送ajax请求时中文乱码

先排除项目故障: 1.web.xml中是否配置了字符拦截器 <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name

Jquery 页面初始化常用的三种方法以及Jquery 发送ajax 请求

第一种 $(document).ready(function(){ //文档就绪事件 }); 第二种是第一种的简略写法,效果上和第一种是等效的. $(function(){ //文档加载事件,整个文档加载完成后执行.就仅仅只需要加载所有的DOM结构,在浏览器把所有的HTML放入DOM tree之前就执行js效果.包括在加载外部图片和资源之前. }); 第三种 jQuery(function($){ }); window.onload=function(){ //onload事件是js 中的代码