function SendHttpRequest(cmd, respondfunc){ var xhr = new XMLHttpRequest(); xhr.timeout = 3000; xhr.ontimeout = function (event) { alert("请求超时!"); } var urlStr = 'http://127.0.0.1:5000/' + cmd; console.log(urlStr); xhr.open('GET', urlStr); xhr.setRequestHeader('content-type', 'application/json'); xhr.onreadystatechange = function () { // console.log(xhr.readyState) // console.log(xhr.status) if (xhr.readyState == 4 && xhr.status == 200) { console.log('ok'); if(respondfunc != null){ respondfunc(xhr.responseText); } } else if(xhr.status == 200){ console.log('waiting'); } else { console.log('err'); console.log(xhr.status); } } xhr.send(null); }
时间: 2024-02-14 08:36:15 浏览: 147
window.XMLHttpRequest详解
这段代码是一个 JavaScript 函数,用于向指定的 URL 发送 HTTP GET 请求,并在请求响应后执行指定的回调函数。该函数的参数包括:
- cmd:指定要发送的请求命令;
- respondfunc:指定请求响应后要执行的回调函数。
该函数使用 XMLHttpRequest 对象实现请求发送和响应处理。在发送请求前,设置了请求超时时间为 3 秒,并指定超时处理函数为弹出超时提示。在发送请求时,设置了请求头部的 content-type 为 application/json。在响应处理函数中,判断响应状态为 200 时,执行指定的回调函数,并将响应文本作为参数传递给回调函数。如果响应状态为 200 以外的值,则输出错误信息和状态码。
阅读全文