如何通过javaScript/jquery从php获取多个返回值?
这是我的javaScript代码:如何通过javaScript/jquery从php获取多个返回值?,javascript,php,json,Javascript,Php,Json,这是我的javaScript代码: $(document).ready(function() { $('#IMDB').click(function() { var MovieID = $('#MovieID').val(); $.post('action/action.php', { url: "http://api.themoviedb.org/3/movie/"+MovieID +"?append_to_response=credits,image
$(document).ready(function() {
$('#IMDB').click(function() {
var MovieID = $('#MovieID').val();
$.post('action/action.php', { url: "http://api.themoviedb.org/3/movie/"+MovieID
+"?append_to_response=credits,images&api_key=myapikey" }, function(data) {
$("#test").html(data);
});
});
});
当我点击按钮时,我从我插入的输入字段中获取imdb id
然后我从php得到实际结果。这是我的php代码
<?php
$url = $_POST['url'];
$url2 = file_get_contents($url);
$json = json_decode($url2, true); //This will convert it to an array
$title = $json['original_title'];
$imdb = $json['imdb_id'];
echo $title;
echo $imdb;
return true;
?>
请帮助我如何获取多个值?您只需返回一个数组而不是单独的值:
return json_encode([$title,$imdb]);
然后在js中解析返回的数据并从中提取所需的属性:
data = JSON.parse(data);
$("#test").html(data[0]);
$("#test2").html(data[1]);
或者您可以将json
添加到$中。post
请求不必解析返回的数据:
$.post('action/action.php', { url: ...}, function(data) {
$("#test").html(data[0]);
$("#test2").html(data[1]);
}, "json");
//__^^^^__
希望这会有所帮助。只输出整个JSON结构并在Javascript中使用它可能是最简单的,但是如果您只需要标题和id,请将您的单个
echo
调用更改为带有哈希的调用:
header('Content-Type: application/json');
echo json_encode(array(
'title' => $title,
'id' => $imdb
));
然后,您可以使用以下方法在javascript中引用它们:
var id = data.id;
var title = data.title;
echo json_encode(数组($title,$imdb))代码>然后使用返回的对象。它只返回一个单词:(电影标题的第一个字母Leop:这是最好的答案。我建议将此作为出发点。哇,非常感谢@Rob M。完美的答案非常感谢:):)没问题,很高兴它帮助了你!
var id = data.id;
var title = data.title;