首页 文章

Javascript数组未完全分配给php数组

提问于
浏览
0

下面是我在javascript中的数组内容 . 我正在使用get调用php页面传递它 . 我也传递其他数组和这个数组 . 那些数组值完全传递 . 只有此数组传递部分值 . 我也在javascript中提醒它并完成它 . 而在php中它只取2个而不是14个 .

var testPlanNameArray= ["Eligibility-Real Time Eligibility Cascading Validation", "Eligibility-SubmitterRouting", "Eligibility alias for defth", "Eligibility-Submitter x", "Eligibility-SubmitterRouting", "Eligibility-SubmitterRouting & Partner alias", "Eligibility-SubmitterRouting", "Eligibility-SubmitterRouting & Partne", "Eligibility-SubmitterRouting & Partner", "Eligibility-SubmitterRouting ", "Custom Maps Validation", "Custom Maps Validation", "Eligibility-Real Time Eligibility Custom Maps Validation", "Eligibility-Real Time Eligibility Custom Maps Validation"];

我正在使用下面的代码传递给php

$.get("dbValidation.php?&testIDArray=" + testIDArray + "&testPlanNameArray=" + testPlanNameArray + "&errorArray=" + errorArray + "&historyErrorDescArray=" + historyErrorDescArray  + "&expectedDEPProp=" + expectedDEPProp  + "&actualDEPProp=" + actualDEPProp).done(function(data3) {
                                // alert(testPlanNameArray);
                                        console.log(data3);
                                        console.log(testPlanNameArray);
                            });

在PHP页面我只是做

<?php
$testPlanNameArray = explode(",", $_GET['testPlanNameArray']);
print_r($testPlanNameArray);
?>

当我执行console.log(data3)时,它将打印出来

Array
(
    [0] => Eligibility-Real Time Eligibility Cascading Validation
    [1] => Eligibility-SubmitterRouting 
)

我试过$ testPlanNameArray = json_decode($ _ GET ['testPlanNameArray']);但它仍然没有完全发挥作用 . 问题仅在于此阵列 . 对于休息阵列,它工作正常 .

1 回答

  • 1

    可能存在编码问题 . 我建议你将一个对象传递给 $.get ,它会正确编码 .

    $.get("dbValidation.php", {
        testIDArray: testIDArray,
        testPlanNameArray: testPlanNameArray,
        errorArray: errorArray,
        historyErrorDescArray: historyErrorDescArray,
        expectedDEPProp: expectedDEPProp,
        actualDEPProp: actualDEPProp
    }).done(...)
    

    此编码实际上会在 $_GET 参数中创建数组,因此您根本不需要使用 explode()json_decode() .

    请注意,URL参数的长度通常有限制,通常为1024或2048.因此,尝试在URL上传递长数组可能效果不佳 . 你应该使用 $.post ,它有更高的限制 .

相关问题