Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript创建动态全局数组_Javascript_Html_Xmlhttprequest - Fatal编程技术网

Javascript创建动态全局数组

Javascript创建动态全局数组,javascript,html,xmlhttprequest,Javascript,Html,Xmlhttprequest,我试图在javascript中创建一个动态全局整数数组。这是我得到的代码: function LoadStarmap() { Request = new XMLHttpRequest(); Request.onreadystatechange = function() { if( Request.readyState == 4 && Request.status == 200 ) {

我试图在javascript中创建一个动态全局整数数组。这是我得到的代码:

function LoadStarmap()
{
    Request = new XMLHttpRequest();

    Request.onreadystatechange 
    = 
    function()
    {
        if( Request.readyState == 4 && Request.status == 200 )
        {
            var Data = Request.responseText;
            alert( Data );
            eval( Data );
        }
    }

    Request.open( "POST", "GetMap", true );
    Request.send();
}
(此警报确实显示) 数据如下所示:

var window.StarCords = [ [12,32], [21,32], ... ];
在另一个功能中,我有:

if ( typeof StarCords != 'undefined' ) 
{
   alert( 'got here' );
}
为什么这个警报没有显示出来?(该函数不执行)。 我试着移动各种各样的东西,但我所做的一切都不起作用,我看不出我做错了什么

编辑:

是的,我知道你们在想什么。我没有提到第二个警报正在循环中运行。因此,它也会在调用LoadStarmap()后执行。很抱歉以前没有提到这一点

它在Rendermain函数中重新调整大小:

var intervalIDRender = setInterval( RenderMain, 10);

很抱歉,太晚了。

AJAX是异步的……您需要在
onreadystatechange
callback
var window.StarCords=[12,32],[21,32],…]中使用响应
是无效的JavaScript。问题不在于ajax,而是一切正常@Qantas 94 Heavy,你的意思是这不是如何声明多维数组的?@user513647:变量声明按
var x=1进行,而属性分配是使用
窗口完成的。y=2。如果您正在执行属性赋值,则不应使用
var
。试试你在控制台中写的东西,看看会发生什么。是的,就是这样。这是我第一次使用javascript进行开发,我错过了这一点,将代码更改为“window.starcords=[…”就做到了。