Есть некоторые махинации с включением функции обратного вызова.Очевидно, вы не возвращаете объект, а функцию, которая была отправлена в исходном клиентском запросе.Я только смутно понимаю, что все это значит, однако у меня есть некоторый код для этого, который на самом деле работает:
Сторона сервера:
<?php
$headers = get_headers($toGetUrl,1);
$return["pop_singer"] = "Britney Spears";
// Right here is where the json object gets wrapped in a function that was submitted under the name "callback"
echo $_GET['callback']."(".json_encode($return).")";
?>
Сторона клиента (это то же самое, что$ .getJSON ()):
$.ajax({
type: "GET",
url: serverUrl,
dataType: 'jsonp',
error: function(request, status) {
// Do some error stuff
},
success: function(data, textStatus, jqXHR) {
var property = data.pop_singer; // equals "Britney Spears"
// Do some successful stuff
}
});