javascript - jQuery/PHP/阿杰 : hot to manage an associative array from PHP with jQuery

标签 javascript php jquery ajax

在表单中,用户从选择菜单中选择一个字段后,我希望以下字段自动填充相关数据,这就是我到目前为止所做的:

<?php

  $deep="";
  include($deep."include/head.php");
  if (isset($_POST["tipologia"])) {

      $impostazione = $sistema->impostazioni->impostazioneInfo("SOLO_DORMIRE");
      echo $impostazione;

  }

?>

其中 impostazioneInfo 是:

public function impostazioneInfo($t) {
    $sql = mysql_query("SELECT * FROM ".$this->config->table_impostazioni." WHERE tipologia='".$t."'");
    $v = mysql_fetch_array($sql);

    $tmp = array(
        'id'=>$v['id'],
        'tipologia'=>$v['tipologia'],
        'persone1'=>$v['persone1'],
        'persone2'=>$v['persone2'],
        'persone3'=>$v['persone3'],
        'persone4'=>$v['persone4'],
        'persone5'=>$v['persone5'],
        'persone6'=>$v['persone6'],
        'inizio_ferragosto'=>$v['inizio_ferragosto'],
        'fine_ferragosto'=>$v['fine_ferragosto'],
        'inizio_capodanno'=>$v['inizio_capodanno'],
        'fine_capodanno'=>$v['fine_capodanno'],
        'capodanno2'=>$v['capodanno2'],
        'capodanno3'=>$v['capodanno3'],
        'capodanno4'=>$v['capodanno4'],
        'capodanno5'=>$v['capodanno5'],
        'capodanno6'=>$v['capodanno6'],
        'ferragosto2'=>$v['ferragosto2'],
        'ferragosto3'=>$v['ferragosto3'],
        'ferragosto4'=>$v['ferragosto4'],
        'ferragosto5'=>$v['ferragosto5'],
        'ferragosto6'=>$v['ferragosto6'],
        'ragazzi'=>$v['ragazzi'],
        'ragazzi_ferragosto'=>$v['ragazzi_ferragosto'],
        'ragazzi_capodanno'=>$v['ragazzi_capodanno'],
        'pers_per_chalet'=>$v['pers_per_chalet']
    );

return $tmp;

最后在主页中,这是我在 jQuery 就绪函数中所拥有的内容:

jQuery("#tipologia").on('change', function() {

      jQuery.ajax({
        url: "get_databy_type.php",
        type: "POST",
        data: {tipologia: jQuery("#tipologia").val()},
        success: function(data) {
            alert(data);
        }
    });


}

我希望警报能从 php 打印结果数组,但我得到了很多我不知道的东西。如何检索所有字段以便填充 html 表单的其余部分?

最佳答案

使用json_encode在服务器端以 json 格式发送数据。并在ajax配置中将dataType设置为json

服务器端:

echo json_encode($impostazione);

客户端:

jQuery.ajax({
    url: "get_databy_type.php",
    type: "POST",
    data: {
        tipologia: jQuery("#tipologia").val()
    },
    dataType: 'json',
    // ^^^^^^^^^^^^^^
    success: function(data) { // data is json object
        alert(data.id); // Alert id from the object
    }
});

关于javascript - jQuery/PHP/阿杰 : hot to manage an associative array from PHP with jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31114227/

相关文章:

javascript - 如何在 NodeJS 中按值获取元素的 CSS 选择器?

javascript - AngularJS - 在 html 模板中使用插值

javascript - 这个 for-in 循环检测片段会产生不需要的误报吗?

javascript - Jquery简单函数

jquery - 如何在订单中执行ajax成功回调?

javascript - Ajax 加载内联 javascript

php - 提交表单后如何从(国际电话输入)插件获取国家代码?

php - Laravel 迁移无法在使用 MySQL RDS DB 的 LAMP AWS 实例中工作 --> SQLSTATE[HY000] [2002] 连接超时

php - call_user_func() 来验证数组值

jquery - JavaScript - 转义双引号