javascript - 从 AJAX 调用获取结果到 javascript 变量

标签 javascript php jquery ajax

<分区>

一段时间以来,我一直在努力寻找解决方案,但我似乎无法让它发挥作用。

我在做什么: 我正在尝试从我的 php 文件中获取一个数组,以便我可以在我的 javascript 中使用它。

例子.php

$arr =  Array(
            Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
            Array(1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
            Array(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
            Array(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
            Array(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
            Array(0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
            Array(3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
            Array(3,3,3,3,3,3,0,0,0,0,1,0,0,0,0,0,3,3,3,3,3,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
            Array(0,3,3,3,3,3,3,0,0,0,1,0,0,0,3,3,3,3,3,0,0,0,0,0,3,3,0,1,1,1,1,1,1,1,0,0,0,0,0,0),
            Array(0,0,0,0,0,0,3,3,3,3,1,3,3,3,3,3,0,0,0,0,0,0,0,0,0,3,3,1,3,3,3,3,3,1,1,1,1,0,0,0),
            Array(0,0,0,0,0,0,0,3,3,3,1,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,3,1,3,3,3,3,3,3,3,3,1,0,0,0),
            Array(0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,3,3,3,1,1,0,0),
            Array(0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,3,3,1,1,1),
            Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,3,3,3,3,3,3,3),
            Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,3,3,3,3,3,3,3,3),
            Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,3,3,3,3,3,3,3,3),
            Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,3,3,3,3,3,3,3,3),
            Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,3,3,3,3,3,3,3,3,3),
            Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,3,3,3,3,3,3,3,3,3,3),
            Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3)
           );

echo json_encode($arr);

我用 javascript 函数调用它

function getArray(){
       $.ajax({
           url: 'Example.php',
           success: function(resultarray) {
                alert("success " + resultarray);
                return levelarray;
           },
           error: function(xhr, status, error) {
                //alert(xhr.responseText);
           }
      }); 
 }

这个 alert("success "+ resultarray); 确实返回了它应该的数组。

但是当我想在我的 javascript 中使用它时,它一直说它是未定义的,或者它什么也没说。

我试过这样的:

var test = getArray();
alert("result= "+ test);

因此此警报不断返回错误或空值。

有人知道我该怎么做吗?

提前谢谢你。

最佳答案

这与javascript的异步特性有关。而不是像

这样使用你的函数
var test = getArray();

尝试一些类似的东西

function getArray(){
   $.ajax({
       url: 'Example.php',
       success: function(resultarray) {
            alert("success " + resultarray);
            doSomethingWithMyTiles(resultarray);
       },
       error: function(xhr, status, error) {
            //alert(xhr.responseText);
       }
  }); 
 }

function doSomethingWithMyTiles(resultarray){
 //do stuff

}

关于javascript - 从 AJAX 调用获取结果到 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28049134/

相关文章:

javascript - 如何在 JavaScript 中合并两个日期?

javascript - 让 UI 优先

php - 使用登录用户和 SHA1 密码更新多个字段

php - 即使输入地址后,地址字段上仍然出现 Laravel 验证错误

Javascript/Backbone - 使用索引删除数组对象

javascript - 剑道网格批量编辑

javascript - Gzip 支持 - 是否需要文件的非 gzip 副本?

Javascript:无法从 html 标签中提取 .text()

php - Twig 检查数组中是否有任何值

Javascript Animate 无法工作