代码语言:javascript复制
/**
* 原生 js 的 Ajax 函数
* @type {{get: Ajax.get, post: Ajax.post}}
*/
const Ajax = {
get: function(url, fn) {
// XMLHttpRequest对象用于在后台与服务器交换数据
var xhr = new XMLHttpRequest()
xhr.open('GET', url, true)
xhr.onreadystatechange = function() {
// readyState == 4说明请求已完成
if ((xhr.readyState == 4 && xhr.status == 200) || xhr.status == 304) {
// 从服务器获得数据
fn.call(this, xhr.responseText)
}
}
xhr.send()
},
// data应为'a=a1&b=b1'这种字符串格式,在jq里如果data为对象会自动将对象转成这种字符串格式
post: function(url, data, fn) {
var xhr = new XMLHttpRequest()
xhr.open('POST', url, true)
// 添加http头,发送信息至服务器时内容编码类型
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) {
fn.call(this, xhr.responseText)
}
}
xhr.send(data)
},
}
export function uploadProject(_project) {
const project = _project.toJS()
const sideJson = JSON.stringify(project)
ModalState.showAlert(
{
title: '上传云端',
description: sideJson,
confirmLabel: '确定',
cancelLabel: '取消',
},
choseUpload => {
if (choseUpload) {
//const host = 'https://sinfo.alibaba.net'
const host = 'https://localhost:9000'
const token = uuidv4()
let data = {
name: project.name,
sideJson: sideJson,
token: token,
}
Ajax.post(
`${host}/uitestcase/upload.api`,
JSON.stringify(data),
res => {
console.log(res)
}
)
}
}
)
}