关于Ajax

封装好的Ajax

前端往后端传递数据需要用到Ajax来传递。

  • 首先需要在网页链入这个已经封装好的Ajax<script src="..."></script>,因为如果直接在html页面写这个的话不好看
  • 之后就可以利用Ajax来传递了

    //    前端页面文件名:<input type='text' id="fileName"/>文件内容:<textarea cols="30" rows="10" id="inner"></textarea><input type='button' value='写入文件' id='btn'/><script>btn.onclick=function() {  ajax({    url:'localhost:1234',    type:'get',    data:{        fileName:fileName.value,        inner:inner.value    },    success:function(data){        console.log('文件写入完毕');    }})  }  </script>
    • 首先要知道,封装好的ajax需要作者传递个json格式的参数进去
    • 其次,必须要有的是后端接口的地址url,传输数据的方式type,前端传给后端的数据内容都写在data内,success方法会自动传入个data参数,这个方法将处理成功接受到后端返回的数据
  • 假设我们后端想要写个文本文件

    //后端页面var http = require('http'),urlLib = require('url'),fs = require('fs');//利用http模块创建本地服务固定格式http.createServer(function(req, res) {    //跨域,‘*’号表示所有    res.setHeader('Access-Control-Allow-Origin', '*');        //利用url模块解析网页传递的地址数据    var json = urlLib.parse(req.url, true).query;    //利用fs模块的writeFile方法写入文件    fs.writeFile(json.file, json.inner, function(err) {       if(err)console.log(err);       console.log('生成完毕');      });}).listen(1234);
    • http模块的作用是让后台不用在html文件启动,直接启动本地服务器,在浏览器搜索栏输入localhost:1234即可,1234是后端自己设置的监听接口
    • url模块的作用是如果用get方式传输数据的话,数据是可以在地址栏看到的,所以直接解析地址就可以得到前端传输的数据了
    • 利用http模块创建本地服务就可以不用在打开html文件,设置好的话后端会直接访问,用户访问网页只需要在浏览器输入localhost:+监听接口号
    • 跨域:跨域大致可以理解为在这个页面访问另一个文件。Access-Control-Allow-Origin表示允许的域,*表示所有,也就是说给予最高访问权限差不多意思。
  • 代码写好还不止,因为我们的NodeJS是后端语言,是网页脚本,所以需要‘‘启动’’。

    • 编写好代码之后需要进入脚本文件的文件夹内启动控制台cmd,输入node xxx.js这个xxx是你的脚本js文件的名字
    • 注意检查模块是否 已经下载好,是否进入正确的文件夹内。