从php ajax post获取数组中的值

时间:2011-11-09 23:08:57

标签: php ajax

我目前正在与ajax用户合作开发一个php项目。我需要将数据库中的值填充到html下拉框中,我想从ajax帖子中执行此操作。

对于项目中到目前为止所有其他ajax,我一直在使用$ .post但是我不需要向php脚本发布任何内容,因为它只是从数据库中检索所有内容。我需要做的是php脚本从数据库中检索信息并将信息填充到一个数组中,然后将数组返回到调用该ajax的调用php脚本。

数组的想法是最好的想法,如果是这样的话,如何从ajax获取数组的内容,或者有更好的方法,如果我没有做任何事情的帖子,我该怎么做ajax调用。

感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:0)

执行您所描述的内容的最简单方法是将JSON与jQuery Ajax请求一起使用,如下所示:

// PHP side
<?php

// Do your database query, and then echo out your desired data like so:

echo json_encode(array(
    'test' => 'your data',
    'test2' => array('you can also use', 'arrays'),
    'test3' => array('or' => 'keyed arrays'),
));

die(); // don't echo anything other JSON, or you'll get errors

?>


// Javascript side
$.post("url.com", post_data, function(json)
{
    // Do something with your data here:

    alert(json.test);

    alert(json.test2[1]);

    alert(json.test3["or"]);

}, "json");

答案 1 :(得分:0)

$.ajax({
        url: "your_script.php",
        global: false,
        type: "POST",
        data: {},
        dataType: "json",
        async:false,
        success: function(results){
          //append your json results to your DOM
          $('#some_div').html('');
          for(var i = 0; i < results.length; i ++)
            {
                $('#some_div').append('<p>' + results[i].html + '</p>');
            }
        }

    });

你的PHP需要json_encode结果......

die(json_encode(array(array('html' => 'first'), array('html' => 'second'))));