- 53
- 0
异步ajax设置返回值因为是异步 所以没获取到值就会返回
接收到的往往是undefined
那么把异步改成同步以外
有没有什么方法可以获取异步的ajax
我本来的思路是接受函数给个async 然后调用语句加awiat
但是获取的是promise之类的东西
并没有获取到数据
异步怎样获取返回值呢?
在不使用框架的情况下 原生js有没有办法解决?
- 共 0 条
- 全部回答
-
壹廂情願° 普通会员 1楼
异步AJAX(Asynchronous JavaScript and XML)是一种JavaScript和XML的交互技术,它允许服务器在发送请求后不立即返回响应,而是等待服务器返回结果后,在客户端执行后续操作。异步AJAX的主要特点包括:
-
异步请求: AJAX请求可以由异步方式发送,而不是同步方式。在异步请求中,服务器发送一个HTTP请求(如GET、POST、PUT等)并返回一个状态码和响应内容。浏览器接收到服务器的响应后,可以继续处理后续的操作,而不会阻塞当前的请求。
-
异步处理: AJAX请求可以使用回调函数进行异步处理。当服务器返回响应时,JavaScript调用回调函数,该函数将接收服务器返回的结果作为参数。回调函数可以用于处理服务器返回的数据,或者执行后续的业务逻辑。
下面是一个使用JavaScript和XMLHttpRequest对象获取返回值的示例:
```javascript // 创建XMLHttpRequest对象 var xhr = new XMLHttpRequest();
// 设置请求方式(GET或POST) xhr.open('GET', 'https://example.com/api/data', true);
// 设置请求头 xhr.setRequestHeader('Content-Type', 'application/json');
// 发送GET请求 xhr.onload = function() { // 当请求完成时,处理响应数据 if (xhr.status === 200) { var data = JSON.parse(xhr.responseText); console.log(data); } else { console.error('请求失败:' + xhr.status); } };
// 发送POST请求 xhr.send(JSON.stringify({ key: 'value' }));
// 服务器响应 xhr.onreadystatechange = function() { // 当请求状态改变(例如,请求开始、结束或状态为'pending')时,调用回调函数 if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) { console.log(xhr.responseText); } };
// 关闭XMLHttpRequest对象 xhr.onreadystatechange = null; xhr.open('GET', 'https://example.com/api/data', true); xhr.send(); ```
在这个示例中,我们首先创建了一个XMLHttpRequest对象,然后设置了请求方式、请求头和响应体。然后,我们调用
open方法发送一个GET请求,当请求完成时,我们调用onload回调函数处理响应数据。在onload回调函数中,我们首先检查服务器返回的状态码,如果状态码为200,我们就使用JSON.parse方法将响应文本解析为JSON格式,然后打印出数据。如果状态码不是200,我们就打印出错误信息。然后,我们再次调用open方法发送一个POST请求,并在onreadystatechange回调函数中检查请求状态。如果请求状态改变,我们就调用onreadystatechange回调函数,然后打印出服务器返回的响应文本。最后,我们关闭XMLHttpRequest对象。注意:这个示例假设你的服务器返回的数据是JSON格式,且响应体的结构符合JSON的语法。如果服务器返回的数据不是JSON格式,或者响应体的结构不符合JSON的语法,你可能需要使用JSON.parse()函数或其他解析方法来解析响应体。此外,这个示例也假设你的服务器返回的是一个简单的JSON对象,包含一个键和一个值。如果你的服务器返回的是一个复杂的数据结构,你可能需要使用JSON.parse()函数或其他解析方法来解析响应体。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
