如何通过javaScript/jquery从php获取多个返回值?
这是我的JavaScript代码:如何通过javaScript/jquery从php获取多个返回值?
$(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编号从我插入 然后我得到从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;
?>
但我得到的结果是这样的:
蝙蝠侠:致命Jokett4853102
一个是电影标题,另一个是在相同的HTML塔格IMDB编号。但我想要显示我的每个结果在每个html标记是这样的:
$("#test").html(data); // result 1 -- movie title
$("#test2").html(data); // result 2 --- imdb id
请帮我怎么得到多个值?
它很可能是最简单的只是输出的整个JSON结构,在Javascript与工作,但如果你只是想在标题和编号,您的个人echo
电话与哈希更改为:
header('Content-Type: application/json');
echo json_encode(array(
'title' => $title,
'id' => $imdb
));
然后你可以使用引用它们在你的JavaScript:
var id = data.id;
var title = data.title;
OP:这是最好的答案,我建议使用此作为起点 –
哇非常感谢@Rob中号完美。回答谢谢你:) :) –
没问题,很高兴帮助你! –
你可以简单地返回一个数组,而不是分割的值:
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_encode(阵列($标题,$ IMDB));'然后使用返回的对象。 – AbraCadaver