Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 Ajax发送表单数据并检索多维数组_Javascript_Php_Jquery_Codeigniter - Fatal编程技术网

Javascript Ajax发送表单数据并检索多维数组

Javascript Ajax发送表单数据并检索多维数组,javascript,php,jquery,codeigniter,Javascript,Php,Jquery,Codeigniter,好的,我有一个表单,您可以在其中选择一个CSV文件,当您点击sales_importer按钮时,我希望我的java调用我的php函数,获取返回的多维数组,然后进行后续处理。当我运行下面的代码时,我得到了一个带有多维值数组的警报框,但它似乎是字符串形式的。当我执行alertresult[0][0]时;我得到[在我的警报框中] 我曾尝试将ajax调用中的数据类型更改为json,但失败了,但我的浏览器仍然给出了200个响应。对可能发生的情况/如何修复有何建议 js php 如果希望能够使用javasc

好的,我有一个表单,您可以在其中选择一个CSV文件,当您点击sales_importer按钮时,我希望我的java调用我的php函数,获取返回的多维数组,然后进行后续处理。当我运行下面的代码时,我得到了一个带有多维值数组的警报框,但它似乎是字符串形式的。当我执行alertresult[0][0]时;我得到[在我的警报框中]

我曾尝试将ajax调用中的数据类型更改为json,但失败了,但我的浏览器仍然给出了200个响应。对可能发生的情况/如何修复有何建议

js

php


如果希望能够使用javascript中的数据,则需要应用一个键。因此,在PHP中:

echo json_encode( array('rows' => $rows) );
现在,您可以访问jQuery AJAX成功函数中的行:

success: function(result){    
    // rows available as result.rows
    if( result.rows ){
        // Do something with result.rows...
        console.log( result.rows );
        $.each( result.rows, function(i, arr){
             console.log( arr );
        });
    }                     
}

记住result.rows将是一个javascript对象,因此您需要使用jQuery的each循环遍历这些行并执行您想要执行的操作。使用控制台查看result.rows,您就会明白我的意思。

您可以尝试序列化$rows的内容并将其记录到服务器,以便检查res中返回的内容ponse.@BrianGottier当我将响应序列化到日志时,这是响应的开始。a:520:{I:0;a:16:{i:0;s:10:公司;i:1;s:11:电话号码;i:2;s:8:主要传真;i:3;s:13:车辆号码;i:4;s:4:城市;i:5;s:5:州;i:6;s:7:地址;i:7;s:6:县;i:8;s:3:邮政编码;i:9;s:7:网站;i:10;s:13:代理商状态;i:11;s:16:内部销售代表;i:12;i:17:外部销售代表;i:13;s:5;s:14;备注:其他代理商;ID:10;}我不知道I、a和s的用途,但CSV的第一行显示:公司、电话号码、主传真、车辆号码等。此外,如果我将其打印为json编码vs序列化,我会得到:[[\ufeffcompany、电话号码、主传真、车辆号码、城市、州、地址、县、邮政编码、网站、代理状态、内部销售代表、外部销售代表、备注、其他代理评论、记录ID],…像fgetcsv这样的etcLooks没有拆分引号上的字段。这可能是csv文件中的编码问题。当我这样做时,控制台中没有写入任何内容。如果我添加其他{console.logno;}我在控制台中没有得到任何结果。rows.move\u upload\u file是否真的将文件保存到$newFilePath?是的,我甚至检查了新的文件路径,文件就在那里。我甚至将数组吐到一个视图中,可以看到数据。整个ajax事务中出现了一些奇怪的情况。你应该尝试一下使用jqueryajax设置dataType:'json'当我添加dataType:'json'时,ajax实际上会出错而不是成功
echo json_encode( array('rows' => $rows) );
success: function(result){    
    // rows available as result.rows
    if( result.rows ){
        // Do something with result.rows...
        console.log( result.rows );
        $.each( result.rows, function(i, arr){
             console.log( arr );
        });
    }                     
}