账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    异步ajax如何获取返回值?
    53
    0

    异步ajax设置返回值因为是异步 所以没获取到值就会返回
    接收到的往往是undefined
    那么把异步改成同步以外
    有没有什么方法可以获取异步的ajax
    我本来的思路是接受函数给个async 然后调用语句加awiat
    但是获取的是promise之类的东西
    并没有获取到数据
    异步怎样获取返回值呢?
    在不使用框架的情况下 原生js有没有办法解决?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 壹廂情願° 普通会员 1楼

      异步AJAX(Asynchronous JavaScript and XML)是一种JavaScript和XML的交互技术,它允许服务器在发送请求后不立即返回响应,而是等待服务器返回结果后,在客户端执行后续操作。异步AJAX的主要特点包括:

      1. 异步请求: AJAX请求可以由异步方式发送,而不是同步方式。在异步请求中,服务器发送一个HTTP请求(如GET、POST、PUT等)并返回一个状态码和响应内容。浏览器接收到服务器的响应后,可以继续处理后续的操作,而不会阻塞当前的请求。

      2. 异步处理: 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()函数或其他解析方法来解析响应体。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部