这是我的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,images&api_key=myapikey" }, function(data) {
var aliases = data.aliases;
document.getElementById('GamesTitle').value = aliases;
});
});
});
这是我的PHP代码
header('Content-Type: application/json');
$url = $_POST['url'];
$context = stream_context_create(['http' => ['user_agent' => 'API Test UA']]);
$response = file_get_contents($url, false, $context);
$json = json_decode($response, true);
foreach($json as $item){
if($item['aliases'] !== null && $item['aliases'] !== 'O' && $item['aliases'] !== '1'){
$aliases .= $item['aliases']; // its give the result fine in php page
}
}
echo json_encode(array(
'aliases' => $aliases
));
return true;
但是当我点击我的按钮获取所有信息时它没有得到任何东西。 我在控制台或任何地方都没有任何错误,所以我找不到我的问题。
当我在php页面中返回值时,它会像这样返回 - >
O null null null null {我的结果} 1
这就是为什么我必须跳过这个O和1
if($item['aliases'] !== null && $item['aliases'] !== 'O' && $item['aliases'] !== '1') {// .... now its ok }
如果从php中删除它,它将正常工作。像这样
header('Content-Type: application/json');
$url = $_POST['url'];
echo json_encode(array(
'aliases' => 'test' /// now its work fine
));
return true;
答案 0 :(得分:1)
添加."json"
...赞:
$(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) {
var aliases = data.aliases;
document.getElementById('GamesTitle').value = aliases;
}, "json");
});
});
现在返回data
将被解释为JSON。