AJAX POST请求实现/AJAX封装/node/RESTful api

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('中文');编译后发送数据;

你可能感兴趣的:(AJAX POST请求实现/AJAX封装/node/RESTful api)