我需要一些关于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...
}
如果有人能对我发光,那就太棒了!
谢谢!
答案 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的更多信息。
希望这会有所帮助。干杯