HTTP AJAX 监听变量 监听文件

2020-06-25  本文已影响0人  泊秦淮杜牧

HTTP

var data = {
    name = arr[0],
    sex = arr[1],
    number = arr[5]
}
var dataString = querystring.stringify(data)    // 转换为字符串格式
var repOption = {
    hostname: '127.0.0.1',  // 要访问的服务器的ip地址
    port: 3000,  // 要访问的服务器的端口
    path: '/readCard' + dataString, // 请求的接口和传递的参数
    method: 'GET'   // 请求方式
}
var req = http.request(repOption, function(res){
    console.log('状态码:' + res.statusCode)
    console.log('响应头:' + JSON.stringify(res.headers))
    res.setEncoding('utf8')
    res.on('data', (chunk) => {
        console.log(`响应主体: ${chunk}`)
    })
    res.on('end', () => {
        console.log('响应中已无数据')
    })
})

req.on('error', (e) => {
    
    console.error(`请求遇到问题: ${e.message}`)
})
req.end()

AJAX
XMLHttpRequest 对象
在koa里面执行不了,原生

var baseUrl = 'http://localhost:3000'
var xhr = new XMLHttpRequest()
xhr.open('POST',  baseUrl + '/index.html', true)
xhr.onreadystatechange = function() {
    // readyState == 4说明请求已完成
    console.log('readyState:' + xhr.status)
    if (xhr.readyState == 4 && xhr.status == 200 || xhr.status == 304) { 
        // 从服务器获得数据 
        console.log(xhr.responseText)
        document.getElementById("name").innerHTML = idName
        document.getElementById("sex").innerHTML = idSex
        document.getElementById("number").innerHTML = idNumber
    } else {
        console.log(xhr.status)
    }
}
xhr.send()

监听变量
f.a发生变化的时候,输出
关键在于defineProperty

function watchChange(object, onChange) {
    const handler = {
        defineProperty(target, property, descriptor) {
        onChange()
        return Reflect.defineProperty(target, property, descriptor)
        },
        deleteProperty(target, property) {
        onChange()
        return Reflect.deleteProperty(target, property)
        },
    }
    return new Proxy(object, handler)
}

const f = watchChange({}, () => {
    console.log('f changed')            
})
f.a = 1
delete f.a

node提供丰富的文件接口,读写,监听,文件流,文件信息,删除修改等待

const fs = require("fs")const fs = require("fs")

var data = fs.readFileSync(__dirname + '/dll/wz.txt')

读取以后需要转编码

const iconv = require('iconv-lite')
var str = iconv.decode(data,'GBK')

转了编码以后需要分割,按换行分割这样

var arr = str.split('\n')
上一篇 下一篇

猜你喜欢

热点阅读