服务器要用get方式
app.js
const express = require('express')
const app = express();
app.listen(10110);
console.log("tiger server is listening on " + 10110);
app.use((req, res, next) => {
//判断路径
if(req.path !== '/' && !req.path.includes('.')){
res.set({
'Access-Control-Allow-Credentials': true, //允许后端发送cookie
'Access-Control-Allow-Origin': req.headers.origin || '*', //任意域名都可以访问,或者基于我请求头里面的域
'Access-Control-Allow-Headers': 'X-Requested-With,Content-Type', //设置请求头格式和类型
'Access-Control-Allow-Methods': 'PUT,POST,GET,DELETE,OPTIONS',//允许支持的请求方式
'Content-Type': 'application/json; charset=utf-8'//默认与允许的文本格式json和编码格式
})
}
req.method === 'OPTIONS' ? res.status(204).end() : next()
})
const verifyToken = (req, res, next) => {
next()
}
function send(res, ret) {
var str = JSON.stringify(ret);
res.send(str);
}
app.get('/spin', verifyToken, function (req, res) {
let info = {
bet:0,
result: Math.floor( Math.random() * 100000)
}
console.log("req:", req.query);
send(res, { err: 0, errmsg: info });
});
客户端用get方式,如果参数因为用json发送方便就处理一下
let path = '/spin'
let extraUrl = 'http://127.0.0.1:10110'
let data = {
amout: this.count,
idd: Math.floor(Math.random() * 100000)
}
let xhr = new XMLHttpRequest();
xhr.timeout = 5000;
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) {
var response = xhr.responseText;
console.log(response);
}
};
var sendpath = path;
var sendtext = "?";
for (var k in data) {
if (sendtext != "?") {
sendtext += "&";
}
sendtext += k + "=" + data[k];
}
var requestURL = extraUrl + sendpath + encodeURI(sendtext);
console.log("RequestURL:" + requestURL);
xhr.open("GET", requestURL, true);
xhr.send();
源代码下载