初学NodeJS(二)-- Ajax

关于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文件的名字
    • 注意检查模块是否 已经下载好,是否进入正确的文件夹内。
    原文作者:Bill
    原文地址: https://segmentfault.com/a/1190000019455597
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞