AJAX POST请求实现
xhr需要打开POST方式:xhr.open('POST','2.php',true);
post方法需要设置请求头:xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')
//content-type指定传到服务器的数据类型是哪种,提交表单常用的三种状态(可以跟后台商议确定自定义任意状态,由后台处理即可):
application/x-www-form-urlencoded; 数据为url编码:名字=值&名字=值&名字=值,常用来提交简单数据
text/plain; 数据为纯文本,基本不用
multipart/form-data; 常用在文件上传
PSOT方法传参方式:xhr.send('a=1&b=2')
AJAX封装
将url,type,data,datatype,success,error,等数据,封装成一个对象作为参数传进ajax方法中,函数体中将参数赋默认值,在函数体中使用即可。
函数体中根据datatype对返回数据进行处理,json,text,jsonp,xml.
JSONP
//懒得写了.百度一推.
node.js
nodejs版本选择通常是偶数版本,单数版本为测试版本。
node与其他后台语言的不同
1. nodejs语法跟js一样,有利于前端人员
2. 性能比较不错
3. 前后台配合方便
4. node可以直接做一些小型系统的后台、中间层
5. 可以用来构建工具,进行测试、构建、抓取等功能
使用nodejs搭建Web服务器
创建server.js文件,
引入http模块:const http = require('http');
打开服务器:let server = http.createServer((request,response)=>{
console.log('运行')
//request 接收的数据
//request.url 根据URL不同控制服务器向浏览器输出不同的数据
//response 输出的数据
//将文件放到磁盘,而不是服务器中,这样可以避免服务器的多次重启。
//在磁盘中新建一个文件夹,例如wamp是放在www文件夹下,
//使用fs模块,读取www文件下req.url,如果没有该路径就返回404,例:
const fs = require('fs');
var url = require("url");//获取路径模块
let pathname = url.parse(req.url,true).pathname;//获取get方法的路径,纯路径,get方法下的参数在url.parse(req.url).query中
// let pathname = req.url;//获取请求的路径,get方法下会把参数也传过来,会导致payhname错误。
fs.readFile(`www${req.url}`,(err,data)=>{
if(err){
res.writeHeader(404)//向浏览器发送的状态码,否则浏览器会认为状态码是200.
res.write('Not Find')//向浏览器发送的数据
}else{
res.write(data)
}
response.end();//证明输出已经正常结束
});
response.write('aaa');//输出的数据
});
监听端口:server.listen(80);
浏览器访问方法:localhost:80
扩展
RESTful api:一种设计接口的风格、习惯。
使用method(访问方式) 与 url(路径)配合使用确认某种功能。
例如:get +url 是登录功能
post +url 是注册功能
delete +url 是注销功能
URL编码中文转换
解决方案是使用encodeURIComponent('中文');编译后发送数据;