javascript - 为什么我不能从 Ajax 函数返回 responseText?

标签 javascript ajax return alert responsetext

<分区>

这是我的 Ajax 函数的一部分。由于某些我无法弄清楚的原因,我能够alert() responseText 但不能return responseText。有人可以帮忙吗?我需要在另一个函数中使用该值。

http.onreadystatechange = function(){
    if( http.readyState == 4 && http.status == 200 ){
        return http.responseText;
    }
}

最佳答案

您将无法处理从异步回调返回的返回值。您应该直接在回调中处理 responseText,或者调用辅助函数来处理响应:

http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
        handleResponse(http.responseText);
    }
}

function handleResponse (response) {
    alert(response);
}

关于javascript - 为什么我不能从 Ajax 函数返回 responseText?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3732258/

相关文章:

javascript - 具有过滤器和排序功能的高阶函数可在对象数组中查找指定属性

javascript - AJAX 原始 Javascript 基础

jquery - 将 Json 返回给 javascript 方法的 Asp.net MVC Ajax 表单

c++ - 无法理解代码片段的返回类型

ios - 如何使用 Swift 在 Alamofire 函数中返回 true/false?

javascript - 我如何理解 Backbone 语法

javascript - 在给定的 url 上提交脚本数据(var = url)

javascript - 如何使用 AngularJS 将标题作为第一个字符的联系人列表按字母顺序排列?

jquery - AJAX 调用中的 ERR_EMPTY_RESPONSE 随机次数

recursion - Lisp 中的返回值