传递回调参数ajax post

时间:2011-07-04 19:01:55

标签: php jquery mysql ajax callback

我需要一些关于ajax回调的帮助。我正在尝试在调用ajax之后传递某些参数

        var dataString = 'string=' + string;
        $.ajax({
            type: "POST",
            url: "file.php",
            data: dataString,
            success: function(data){

                $(".selector").html(data)

        }
        });

好的,如果我的file.php有一些mysql查询,我正在尝试回显值

echo $picture;
echo $title;
echo $additional_values;

如何回显某些值并通过ajax传递

因此,如果我在我的php文件中回显那些,并通过我的ajax函数(数据)输出它,它会将所有内容输出到$(".selector").html(data)<div class="selector"></div>),但是,我正在尝试一次输出一件事

success: function(data){
  $(".picture").html(data); // echo's out picture in my picture div class
  $(".title").html(data); // echo's out title in my title div class
  $(".additional_values").html(data); // echo's out to the div class...
}

如果有人能对我发光,那就太棒了!

谢谢!

2 个答案:

答案 0 :(得分:4)

PHP

$data = array('picture'=>$picture,
              'title'=>$title,
              'values'=>$additional_values,
             );

print json_encode($data);

的JavaScript

    var dataString = 'string=' + string;
    $.ajax({
        type: "POST",
        url: "file.php",
        data: dataString,
        datatype: 'json',
        success: function(data){
            $(".picture").html(data.picture);
            $(".title").html(data.title);
            $(".additional_values").html(data.values);

        }
    });

答案 1 :(得分:1)

您可以使用JSON。 JSON是一种序列化格式,允许您将对象“转换”为字符串,将字符串转换回对象。 PHP有一个内置函数来编码为JSON字符串,称为json_encode

PHP代码

file.php
<?php
//... Your logic here
header("Content-type: application/json"); //'Tell' the browser that it's a JSON response
$returnData = array('picture'=>$picture, 'title'=>$title, 'values'=>$additional_values);
echo json_encode($returnData); //Encode $returnData to JSON string
?>

现在,jQuery可以接收此字符串并自动将其转换为javascript对象。我们在data参数

中有一个对象

的JavaScript

var dataString = 'string=' + string;
$.ajax({
    type: "POST",
    url: "file.php",
    data: dataString,
    success: function(data){
       //At this point, data is just as php's $returnData, so it has 3 properties
       //picture, title and values.
       $(".picture").html(data.picture);
       $(".title").html(data.title);
       $(".additional_values").html(data.values);
    }
});

JSON有多种语言版本,是AJAX中的实际交换格式。有关http://json.org的更多信息。

希望这会有所帮助。干杯