请教一下ajax高手我一窍不通js 这段代码怎么理解使用

XiaoTouLianShan 2018-06-08 10:11:05
我研究了一下,这代码基本就是通过 POST 传送JSON数据到服务器处理,我希望他不通过js通过php发送处理不是需要提交表单的那种而是直接点链接获取到数据自动发送处理,请问这样是否可以实现
function ajax(method, url, data, successCallback, errCallback) {
let _this = this
let traceId = createdRequestId()
let params = {
traceId,
body: {}
}
Object.assign(params.body, data)
console.log(params)
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
let responseData = JSON.parse(xhr.responseText);
console.log(responseData)
successCallback(responseData)
} else {
let responseData = JSON.parse(xhr.responseText);
errCallback(responseData)
}
} else {
//loading
}
}
xhr.open(method, url, true);
if (method == 'POST') {
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(params));
} else {
xhr.send(null);
}

}
let a = new Promise((resolve, reject) => {
setTimeout(() => {
resolve()
}, 0);
})
a.then(() => {
let realurl = getQueryString('realurl') || ''
let url = 'https://inf-prdapi.wesure.cn/prdapp/innerapi/acctapi/v1/wesure-converturl/Converturl.Openlink'
ajax('POST', url, {url: realurl}, (res) => {
if (res.body && res.body.url) {
document.getElementById('loading').style.display = 'none'
window.location.href = res.body.url
} else {
alert('请求失败,请稍后再试')
document.getElementById('loading').style.display = 'none'
}
}, (err) => {
alert(err)
document.getElementById('loading').style.display = 'none'
})
})
...全文
1375 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37709383 2018-06-30
  • 打赏
  • 举报
回复
链接带参 在项目中来说 不安全 所以可以忽略掉
Mr丶Lennie 2018-06-30
  • 打赏
  • 举报
回复
你这段代码关键就在于如下位置,之前的那么多代码是为了配置这个ajax需要的参数。
Mr丶Lennie 2018-06-30
  • 打赏
  • 举报
回复
PHP是后端开发语言,JS是前端开发语言,如果想要在html页面实现服务器请求操作,就需要使用ajax的方式,提交相应的请求,再由PHP接收处理。
流程就是:
HTML->AJAX->php接收处理返回结果->AJAX中可以接收返回结果,再进行后续处理
weixin_41646848 2018-06-29
  • 打赏
  • 举报
回复
链接的话还有一种办法,就是地址栏带参数, 前提是参数不能太多
楓VS痕 2018-06-14
  • 打赏
  • 举报
回复
页面提交数据,要么通过form,要么通过js
ambit_tsai-微信 2018-06-09
  • 打赏
  • 举报
回复
“我希望他不通过js通过php发送”这句话有问题,php是工作在服务端的,手还想伸到浏览器端去不成。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧