一个JSONP的小案例

index.html代码:


"en">


  "UTF-8" />
  "viewport" content="width=device-width, initial-scale=1.0" />
  "X-UA-Compatible" content="ie=edge" />
  付款页面



  

您的账户余额为:"money">_money

复制代码

server.js代码:

const http = require("http");
const fs = require("fs");
const url = require("url");
const childProcess = require("child_process");

const port = process.env.PORT || 3000;

//调用http的createServer方法,它可以创建一个网络服务。接受请求并响应
const server = http.createServer((request, response) => {
  const path = url.parse(request.url, true).pathname;
  const query = url.parse(request.url, true).query;
  if (path === "/") {
    let string = fs.readFileSync("./index.html", "utf8");
    let money = fs.readFileSync("./money");
    response.setHeader("Content-Type", "text/html");
    string = string.replace("_money", money);
    response.write(string);
    response.end();
  }
  if (path === "/pay") {
    let money = fs.readFileSync("./money", "utf8");
    let newMoney = money - 1;
    fs.writeFileSync("./money", newMoney);
    response.setHeader("Content-Type", "application/javascript");
    response.statusCode = 200;
    response.write(`${query.callback}.call(undefined,"success")`);
    response.end();
  } else {
    response.statusCode = 400;
    response.end();
  }
});

//调用server对象的listen方法,设置监听的端口号
server.listen(port);

console.log(`正常监听,服务运行在:http://127.0.0.1:${port}`);
//自动在浏览器打开地址

childProcess.exec(`start http://127.0.0.1:${port}`);
复制代码

money文件代码:

100
复制代码

转载于:https://juejin.im/post/5c8a23a1f265da2dbf5f4acd

你可能感兴趣的:(一个JSONP的小案例)