如何使用Ajax检索和存储数据

时间:2013-11-26 16:46:01

标签: javascript php jquery ajax

我想从PHP返回多个数据(变量),而不是只返回1个返回的html代码。

现在我明白了:

$.ajax({
    url: "test.php",
    cache: false
})
.done(function(html) {
    $('video').attr('src', html);
});

但我希望能够做到与此类似的事情:

$.ajax({
    url: "test.php",
    cache: false
})
.done(function(data) {
    $('video').attr('src', data.videoUrl);
    $('video').attr('poster', data.posterUrl);
});

在我的 test.php 中,我有这个:

$posterUrl = "thumbnail.png";
$videoUrl = "video.mp4";

echo $posterUrl;
echo $videoUrl;

我怎样才能完成这样的事情?

3 个答案:

答案 0 :(得分:3)

最简单的方法? JSON。

JavaScript的:

$.ajax({
    url: "test.php",
    dataType: "JSONP"
}).done(function(json) {
    $("video").attr("src", json.videoURL).attr("poster", json.posterURL);
});

PHP:

$output = array();
$output["posterURL"] = "poster.png";
$output["videoURL"] = "video.mp4";

echo json_encode($output);

答案 1 :(得分:1)

您可能需要对此响应进行json_encode。

$response = array("videoUrl"=>"video.mp4","posterUrl"=>"video.mp4");

echo json_encode($response);

答案 2 :(得分:0)

您可以返回JSON而不是字符串。

此处有更多信息:http://api.jquery.com/jQuery.getJSON/