AJAX - Javascript array to php


AJAX - Javascript array to php

我知道在互联网上有很多东西可以找到,但是,我已经尝试了几个小时,仍然没有工作,也许社区可以帮助我:)

http://jsfiddle.net/dkk2nqyg/14/

我在jsfiddle中有一些解释,否则,你可以看看我之前的问题,JavaScript数组拼接

基本上,我想要selected的值(3张拾取的卡片)在php中,因为我想邮寄这些值;)

 $.ajax({
   url: 'data.php',  //I actually want it to be on same page, trying this for debugging
   type: 'post',
   data: {data : selected},
   success: function(data) {
        alert("worked");
   }
});

在data.php中:

<?php
$data = json_decode(stripslashes($_POST['data']));
  foreach($data as $d){
     echo $d;
  }
?>

我希望我甚至不需要数据.php,只需要一页,所以在index.php中,这可能吗?

编辑:请链接JsFiddle,这真的很有帮助!

首先,ajax请求应该在点击处理程序中

$('#mail').click(function () {
    console.log($('#dvDest .flipper').get())
    var selected = $('#dvDest .flipper').map(function () {
        return $(this).data('src')
    }).get();
    alert(selected)
    $.ajax({
        url: 'data.php', //I actually want it to be on same page, trying this for debugging
        type: 'post',
        data: {
            data: selected
        },
        success: function (data) {
            alert("worked");
        }
    });
})

然后在服务器端循环通过数组,如(不确定PHP语法)

<?php
  foreach($_POST['data'] as $d){
     echo $d;
  }
?>

您可以编写一个条件,就好像请求对象有post值,然后

$data = json_decode(stripslashes($_POST['data']));
 foreach($data as $d){
  echo $d;
}

否则您的主页显示代码

因此,index.php是足够的

用于使用单个页面,例如:index.php

在index.php的顶部,您所做的:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Your code goes here
    exit();
}