关于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参数,这个方法将处理成功接受到后端返回的数据
- 首先要知道,封装好的ajax需要作者传递个
假设我们后端想要写个文本文件
//后端页面 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
表示允许的域,*
表示所有,也就是说给予最高访问权限差不多意思。
- http模块的作用是让后台不用在html文件启动,直接启动本地服务器,在浏览器搜索栏输入
代码写好还不止,因为我们的NodeJS是后端语言,是网页脚本,所以需要‘‘启动’’。
- 编写好代码之后需要进入脚本文件的文件夹内启动控制台
cmd
,输入node xxx.js
这个xxx是你的脚本js文件的名字 - 注意检查模块是否 已经下载好,是否进入正确的文件夹内。
- 编写好代码之后需要进入脚本文件的文件夹内启动控制台