php - 将 JavaScript 数组发送到 PHP

标签 php jquery ajax

我正在尝试将选择框中选项中的数据插入到我的数据库表中。我的数据库表字段是 id_countrycountry_name

数据库字段id_countryselectoption值填充,country_name来自相应的选项文本。 代码是这样的..

<select id="id_country" name="id_country">
  <option value="17" >USA</option>
  <option value="16" >Canada</option>
  <option value="7" >France</option>
</select>

<script>
$(document).ready(function(){
    var data=new Array();
        $('#id_country').find('option').each(function() {
            var id=$(this).val();
            data[id]=$(this).text();

        });     

    $('#btn_insert').click(function(){
        $.ajax({
            type: "POST",
            url: "ajax.php",
            data: data,
            success: function(response){
                alert(response);
            }
        });                                     
    });

});
</script>   

服务器端脚本:

<?php
     //echo $_POST['data'];
    $arr=$_POST['data'];
    foreach($arr as $key => $value){
       $sql="INSERT INTO Country($key,$value)";
       $query=mysql_query($sql);
       if(mysql_num_rows($query)>0){
          echo "success";
       }
     }
?>

我无法获取$_post['data']值。如何在 PHP 脚本中获取 Javascript 数组?

最佳答案

尝试如下:

首先序列化数组,然后传递给 jquery ajax 函数。

data.serializeArray();

在 PHP 脚本中,在文件的开头,

$arr = json_decode($_POST['data'], true);

关于php - 将 JavaScript 数组发送到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12445503/

相关文章:

php - 在yii2框架中使用动态模型时如何设置属性标签?

php - 如何删除多对多关系表中的一条数据

javascript - 如果从下拉列表中选择任何选项,则需要输入

jquery - CSS3 动画 - 无限旋转高分辨率图像,框阴影脉冲发光

java - 我需要更改网页的内容而不刷新服务器端发生更改的位置

mysql - 通过 AJAX 发送 POST 请求时 Console.log 显示 "500 (INTERNAL SERVER ERROR)"

php - 使用 php 在一定时间后删除文件的 cronjob 格式是什么?

php,realpath 与 realpath + file_exists 用法

jquery - 如何从价格(货币)中删除逗号或点后的零

javascript - 使用ajax将数组数据从浏览器中的javascript传递到spring mvc Controller