javascript array.push返回undefined

时间:2015-07-12 02:34:10

标签: javascript arrays object

所以我继续添加到一个数组并推送工作,但所有发生的事情是我在数组中得到ITERATIONS许多未定义的对象。当我单独使用它时,我一直试图推送的对象工作正常但是当我尝试将它放入数组时我得到了未定义

function multiCalc() {
    primeList = [];
    for (var i = 0; i < (iterations * 2); i += 2) {
        isPrime = true;
        var itTest = bigInt(test).add(i);

        for (var j = bigInt(itTest.divide(2).add(1)); j.compare(2) == 1; j = j.minus(1)) {
            if ((test.mod(j)) == 0) {
                isPrime = false;
            }
        }
        primeList.push({
            "prime_number": {
                "testNumber": itTest.toString(),
                "isPrime": isPrime,
                "wasTested": true
            }
        });

    }
    sendPrime(primeList, multiUrl);
}

提前致谢

编辑 这是send prime函数

 function sendPrime(PrimeData, path){ 
    if(stop == false){
    $.ajax({
        url: path,
        type: 'post',
        async: true,
        dataType: 'json',
        success: function (data) {
        test = bigInt(data.testNumber);
        multiCalc();
        // calc();
        },
        data: PrimeData
    });
}

1 个答案:

答案 0 :(得分:0)

好的我明白了。该数组未通过ajax发送。我对数据进行了字符串化,然后添加了contentType: 'application/json',行,以便rails知道它正在接收json

function sendPrime(primeData, path){ 
    if(stop == false){
        console.log(primeData);
    $.ajax({
        url: path,
        type: 'post',
        async: true,
        dataType: 'json',
        contentType: 'application/json',
        success: function (data) {
        test = bigInt(data.testNumber);
        console.log(test);
        multiCalc();
        // calc();
        },
        data: JSON.stringify(primeData)
    });
}