Javascript jQuery/PHP/Ajay:使用jQuery管理来自PHP的关联数组很热

Javascript jQuery/PHP/Ajay:使用jQuery管理来自PHP的关联数组很热,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,在表单中,在用户从select menù中选择一个字段后,我希望以下字段自动填充相关数据,这就是我到目前为止所做的: <?php $deep=""; include($deep."include/head.php"); if (isset($_POST["tipologia"])) { $impostazione = $sistema->impostazioni->impostazioneInfo("SOLO_DORMIRE"); ech

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

<?php

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

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

  }

?>
最后在主页中,这是我在jQuery ready函数中看到的内容:

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
格式发送数据。并在
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
    }
});

@LoryLory您从
ajax
获得的
响应是什么,请参见
控制台的网络选项卡中的
echo json_encode($impostazione)
返回json_编码(tmp)。另外,在echo之前,输入
头('Content-Type:application/json')(可能是他的错误,不确定)我已经尝试了你说的所有内容,但仍然没有任何提示。。。在网络选项卡中,我看不到任何有用的内容……如果直接打开get_databy_type.php,是否会看到php错误?也许可以添加一个错误回调来查看请求是否失败。好的,我想我已经解决了这个问题。首先,我必须调用php函数头('Content-Type:application/json')……这与默认情况下我在每个php页面中包含的另一个头崩溃了:我了解到,在对php程序进行ajax调用时,json头必须是唯一的头!!!
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
    }
});