如何在PHP中访问jquery中动态创建的数组

时间:2016-10-19 02:12:29

标签: javascript php jquery mysql arrays

我创建了一个脚本,可以将click上的项添加到数组中。

$(document).ready(function()
    {
        var array_ids = [];
        $('.add').click(function()
        {
            array_ids.push($(this).parent().siblings('.row_id').html().trim());
            alert(array_ids);    
        });
    });

项目来自mysql数据库,所以我存储了项目的主键。密钥以这种方式存储在数组中

1,2,3,4,5

现在我想在php中访问这个数组,以便我可以逐个存储在数据库中。

我想做一些ajax,这是我的代码

$('.show').click(function(e)
        {
            //e.preventDefault();

            $.ajax(
            {
               method: 'POST',
               url: 'createsale.php',
               data: {items: array_ids},
               success: function()
               {
                    alert('done'); 
               } 
            });
        });

我收到了警告,但无法将其存储在数据库中。任何人都可以告诉我如何在mysql中插入这些项目?

2 个答案:

答案 0 :(得分:1)

使用 Json {"key":value}或数组[1,2,3]从Javascript发送值。在让他们在PHP中使用它们时,您可以使用json_decode()将Json或数组从Javascript转换为PHP。

如果您需要从PHP到Javascript的信息,请使用将发送 json 字符串的功能json_encode()

参考:json_encodejson_decode

答案 1 :(得分:0)

您的mysql_real_escape_string文件应具有以下代码,以接收数组数据&amp;在执行任何mysql查询之前,不要忘记使用 <?php if(isset($_POST["items"]) && $_POST["items"] !=""){ $arr = $_POST["items"]; //convert JS array to PHP array $arr = json_decode($arr,true); //then you have your PHP array => new array(1,2,3,...); /* use for/forEach loop for($i=0;$i<count($arr);$i++){ do the task } */ } ?> 来转义数据

 map.add("imageFile", new FileSystemResource(new File("...path to file...")));