通过ajax将数组发送到php。

时间:2016-01-14 13:21:19

标签: javascript php jquery ajax

我存储数组并通过ajax发送...

var heart = [31,32,33,34,35,36,37,38,39,42,43];
// Sending this data via ajax to php file/ 
 $.ajax({
 type: "POST",
 data:{ 'system': heart }, 
 url: "login-function.php",
 success: function(msg){
 alert('yes');
}
});

我相信它发送正确,因为我得到了一个警告说是的。 这是我的php文件:

$system = $_POST['system'];
echo $system;

我将它存储到变量中吗?如何将此值回显到页面上?

3 个答案:

答案 0 :(得分:1)

你有2个问题。答:您没有在代码msg中使用ajax返回值 - 这包含来自php的输出,因此为了显示它,以某种方式将其添加到页面中:

HTML:

<div id="result"></div>

JS:

 var heart = [31,32,33,34,35,36,37,38,39,42,43];
 // Sending this data via ajax to php file/ 
 $.ajax({
     type: "POST",
     data:{ 'system': heart }, 
     url: "login-function.php",
     success: function(msg){
         $('#result').html(msg);
    },
     error: function(jqXHR, textStatus, errorThrown){
         console.log(errorThrown);
    }
});

B:你不能只回显一个数组,它不是一个字符串。要显示ist内容,您可以使用许多php函数,例如var_dump()

$system = $_POST['system'];
var_dump($system);

答案 1 :(得分:0)

您可以使用print_r( $system );或使用foreach声明:

foreach ( $system as $itm ) {
    echo $itm . '<br />';
}

编辑:PHP中的echo仅适用于字符串,整数等;不是数组或对象。

答案 2 :(得分:0)

$system = $_POST['system'];
print_r($system);