Xav*_*ier 3 php ajax jquery post
我通过php将ajax发布到csv文件时收到错误.
<?php
$list = array ($_POST["array"]);
$fp = fopen('array.csv', 'w');
fputcsv($fp, $list);
fclose($fp);
?>
Run Code Online (Sandbox Code Playgroud)
我试图发布我的阵列
["0", "0", "0", "0", "0", "0", "0", "0", 99]
Run Code Online (Sandbox Code Playgroud)
响应:
注意:第4行的C:\ xampp\htdocs\snx\assets\www\write.php中的数组到字符串转换
我的Ajax帖子;
/* Array */
var defaultArray = new Array();
var localArray = new Array();
var serverArray = new Array();
/* Default Values */
defaultArray[0] = "0";
defaultArray[1] = "0";
defaultArray[2] = "0";
defaultArray[3] = "0";
defaultArray[4] = "0";
defaultArray[5] = "0";
defaultArray[6] = "0";
defaultArray[7] = "0";
defaultArray.push(99);
/* Write Array [1st Load] */
$.post("write.php", { 'array': defaultArray });
Run Code Online (Sandbox Code Playgroud)
$list = array ($_POST["array"]);
Run Code Online (Sandbox Code Playgroud)
如果$_POST['array']已经是一个数组,则Array($_POST['array'])创建一个[1]字符串数组的数组.
如果你写print_r($list),你会看到这样的事情:
Array(0 =>
Array(
0 => "0",
1 => "0",
2 => "0",
3 => "0",
4 => "0",
5 => "0",
6 => "0",
7 => "0",
8 => 99
)
)
Run Code Online (Sandbox Code Playgroud)
要使用原始字符串数组,您可能只需要:
$list = $_POST["array"];
Run Code Online (Sandbox Code Playgroud)
现在,当你写作时print_r($list),你会看到预期的:
Array(
0 => "0",
1 => "0",
2 => "0",
3 => "0",
4 => "0",
5 => "0",
6 => "0",
7 => "0",
8 => 99
)
Run Code Online (Sandbox Code Playgroud)
顺便说一句,仅 .push用于向Javascript数组添加项目,您应该实例化= [],而不是= new Array().