从jquery ajax获取响应数组到php

时间:2015-05-15 20:17:27

标签: php jquery ajax codeigniter

我正在尝试使用jquery ajax基于选择框选项从mysql填充表,到目前为止这是我的jquery代码。我可以在警告框中显示结果,但我不知道如何将其发送到php,以便我可以循环通过数组并创建表。

// selector de campaña en reporte de clientes mas activos
$(document).ready(function(){
    $('.selector-camp').change(function(){
        var campaing = $('.selector-camp').val();
        $.post( "../campanas/test", { 'camp': campaing },
        function( data ) {
            alert( data.result );
        }, "json");
    });
});

2 个答案:

答案 0 :(得分:1)

由于我使用JavaScript而不是jquery,我将用JavaScript编写它,我相信你也可以在Jquery中做到这一点,但在JavaScript中它也很容易做到

      function( data ) 
      {
        createTable(data.result); //pass your json array to JS function
      }, "json");
      //here i create js function
      function createTable(array)
      {
         var array = JSON.parse(array); //decoding from json format
         //So if i have numbers in array like [1, 2, 3, 4] and want
         //to create row with them something like this should be done
         var table = document.createElement("table"); //create table
             var tr = document.createElement("tr"); //create row
             for(var i=0; i<array.length; i++)
             {
                 var td = document.createElement("td");
                     td.innerHTML = array[i]; 
                 tr.appendChild(td); 
                 //for each array element creates cell and appends to row
              }
              table.appendChild(tr);
          //Then you can have some empty div and append table to it
          var div = //your empty div
              div.appendChild(table);
       }

答案 1 :(得分:0)

请根据您的要求查看以下php原型代码。 从ajax请调用这个文件,它会返回一个json响应,因为我已经使用了json_encode()函数,你也可以直接返回数组,但我不建议,你也可以编辑这段代码进行进一步的mysql查询。

<?php 
test();
function test(){
    $camp = htmlspecialchars($_POST['camp']);
    isset($camp)&&!empty($camp)?
    $data = array('test_key'=>'test_value');
    echo json_encode($data);
}
?>