javascript - 返回 javascript 数组不起作用

标签 javascript function multidimensional-array return

<分区>

我有一个从 PHP 获取一些 JSON 的 javascript 函数。当我获得 JSON 时,我的计划是解析它并将其加载到一个数组中,然后返回该数组,以便我可以在任何地方使用数据。

这是ajax函数:

function get_ajax(route_val){

$.ajax({
            url: "ajax.php",
            dataType: 'json',
            data: { 
                route: route_val
        },
            success: function(result) {
                if(result.error == true){
                    alert(result.message);
                }else{

                    $.each(result, function(key1, value1){

                        //console.log(key1 + ":" + value1);

                        returnarray[key1] = value1;

                    });             

                    return returnarray;
                }

            }
        });


}
</script>

如果我随后尝试定义 var arr = get_ajax('1'),arr 将为空。我可以从函数内部的数组中发出警报和 console.log 内容,但返回它时什么也不会返回。

它似乎不存在于函数之外。

有什么想法吗?

最佳答案

您使用的 Ajax 不正确,我们的想法是不要让它返回 任何东西,而是将数据传递给一个叫做 callback 的东西> 处理数据的函数。

即:

function handleData( responseData ) {
    // do what you want with the data
    console.log(responseData);
}

$.ajax({
    url: "hi.php",
    ...
    success: function ( data, status, XHR ) {
        handleData(data);
    }
});

return提交处理程序中的任何内容都不会执行任何操作,您必须改为传递数据,或者直接在成功函数中使用它执行您想要的操作。

关于javascript - 返回 javascript 数组不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11732900/

相关文章:

javascript - 未捕获的语法错误 : Unexpected token < occurring when deploying

java - 有没有可能的方法从 OnClickListener 方法检索 ArrayList 值并将其保存在其父方法中?

C "Error: Expecter expression before ' 列表'"

c++ - 二维动态数组的值在循环迭代期间被损坏

java - 多维数组 错误 inderoutofbounds

javascript - 我可以在运行时获取上传路径吗?

javascript - jQuery 仅在前一个 div 中添加查询

javascript - 错误消息 'RangeError: Invalid time value' 的奇怪行为

javascript - React 中是否可以访问组件外部的函数?

c# - 快速加载/保存多维数组