手动模拟一个类似jquery的ajax请求
var $ = {
parms:function(obj){
var str = '';
for(var k in obj){
str +=k+'='+obj[k]+'&';
}
str = str.slice(,-);
return str;
},
ajax:function(options){
var type = options.type;
var url = options.url||'';
var data = options.data||'';
data = this.parms(data);
// 判断请求方式
if (type=='get') {
// 如果是get请求,send中没有参数,或者为null
// 然后data数据应该拼接到url上
url = url+'?'+data;
data = null;
}
// 实例化对象
var xhr = new XMLHttpRequest();
// 设置请求行
xhr.open(type,url);
//判断是不是post请求,如果是post请求,就需要设置请求头
if (type=='post') {
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
}
// 设置请求正文
xhr.send(data);
// 监听并处理响应
xhr.onreadystatechange = function(){
if (xhr.readyState==&&xhr.status==) {
result = xhr.responseText;
console.log(result);
}
}
}
}
var obj = {
name:'小航',
age:
}
$.ajax({
type:'post',
url:'ajaxTools.php',
data:obj
})
下面附上php代码
<?php
// echo $_GET['name'].'----------'.$_GET['age'];
echo $_POST['name'].'----------'.$_POST['age'];
?>
一个简单的post和get接收数据的php代码
手动模拟一个类似jquery的ajax请求的更多相关文章
- 封装一个类似jquery的ajax方法
//封装一个类似jquery的ajax方法,当传入参数,就可以发送ajax请求 //参数格式如下{ // type:"get"/"post", // dataT ...
- Sping MVC不使用任何注解处理(jQuery)Ajax请求(基于XML配置)
1. Spring Spring框架是一个轻量级的解决方案,是一个潜在的一站式商店,用于构建企业就绪的应用程序.Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持.Spr ...
- Struts2处理(jQuery)Ajax请求
1. Ajax Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)时一种创建交互式网页应用的网页开发技术,它并不是一项新的技术,其产生 ...
- jQuery发送ajax请求
利用jquery发送ajax请求的几个模板代码. $.ajax({ async : false, type: 'POST', dataType : "json", url: &qu ...
- Angular和jQuery的ajax请求的差别
近期项目中使用angular,结果发现后台没法获取參数,所以,略微研究了一下两者在发送ajax时的差别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释con ...
- 使用es6的then()方法封装jquery的ajax请求
使用场景: jsp页面中使用jquery的ajax请求比较频繁,以前vue框架的项目用过axios,所以就想着用then()封装一个公共请求的方法,这样每次请求就不用那么麻烦的写一大堆请求参数了. 示 ...
- 如何终止JQUERY的$.AJAX请求
最近遇到,如果用户频繁点击ajax请求,有两个问题: 1,如果连续点击了5个ajax请求,前4个其实是无效的,趁早结束节省资源. 2,更严重的问题是:最后一个发送的请求,响应未必是最后一个,有可能造成 ...
- jQuery发送Ajax请求以及出现的问题
普通jQuery的Ajax请求代码如下: $.ajax({ type: 'POST', url: "http://xxx/yyy/zzz/sendVerifyCode", data ...
- Servlet处理(jQuery)Ajax请求
1. jQuery jQuery是一个JavaScript函数库,极大的简化了JavaScript编程,很容易学习.jQuery是目前最流行的开源js框架,并且提供了大量的扩展. 2. Aja ...
随机推荐
- bzoj 2067 [ Poi 2004 ] SZN —— 二分
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2067 问题1:贪心考虑,应该是每个点的儿子尽量两两配对,如果剩一个就和自己合并向上,所以 a ...
- boxworld开发日记2019-6-8
打算做一个类似RimWorld的游戏,这里记录一下历程.首先,简单回顾一下. 2018年12月23日 场景管理,打算使用四叉树,后来发现四叉树在空间组织和内存占用方面并不占优势,之后计划使用地图分块 ...
- deepin 安装 idea
1.su root 2.sudo apt install idea 3.sudo vi /etc/hosts 最后一行添加 0.0.0.0 account.jetbrains.com 4.注册码 N7 ...
- LOGO免费在线设计
http://www.logomaker.com.cn/ 藏经阁技术资料分享群二维码
- 题解报告:hdu 5695 Gym Class(拓扑排序)
题目链接:acm.hdu.edu.cn/showproblem.php?pid=5695 Problem Description 众所周知,度度熊喜欢各类体育活动.今天,它终于当上了梦寐以求的体育课老 ...
- 全面学习ORACLE Scheduler特性(8)Application抛出的Events
4.2 Application抛出的Events 首先要说明,这里所说的Application是个代词,即可以表示ORACLE数据库之外的应用程序,也可以是ORACLE数据库中的PROCEDURE等对 ...
- LINQ数据库技术
LINQ(Language Integrated Qyery),中文名字是语言集成查询.它提供一个统一的编程概念和语法,编程人员不需要关心将要访问的是关系数据库还是XML数据,或是远程的对象,它都采用 ...
- linux centos7 安装nginx并启动
Linux下安装Nginx完整教程及常见错误解决方案:https://blog.csdn.net/chenxiaochan/article/details/63688346 CentOS 7 安装Ng ...
- bootstrap3无间距栅格/grid no-gutter
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- http协议对照表
1**:请求收到,继续处理 2**:操作成功收到,分析.接受 3**:完成此请求必须进一步处理 4**:请求包含一个错误语法或不能完成 5**:服务器执行一个完全有效请求失败 100——客户必须继续发 ...