$.ajax({
type : "GET",
dataType : "jsonp",
url : '/',
data : {}
success: function(obj){
}
});
Как я могу использовать кросс-доменный $.ajax dataType: jsonp для публикации данных?
$.ajax({
type : "GET",
dataType : "jsonp",
url : '/',
data : {}
success: function(obj){
}
});
Как я могу использовать кросс-доменный $.ajax dataType: jsonp для публикации данных?
Это невозможно с простым jsonp. Прочтите это< /а>сильный>
Чтобы ответить на ваш вопрос вместо того, чтобы отправлять вас по другой ссылке, как указано выше:
JS:
$.ajax({
type : "GET",
dataType : "jsonp",
url : "http://domainname.com/json.php?callback=?", // ?callback=?
success: function(data){
// do stuff with data
}
});
PHP может выглядеть так:
<?php
include('connect.php');
$sql = "SELECT id, name, items FROM tablename ORDER BY id ASC";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$rows[] = array(
"id" => $row['id'],
"name" => $row['name'],
"items" => $row['items']);
}
$json = json_encode($rows);
$callback = $_GET['callback'];
echo $callback.'('. $json . ')';
?>
Установка dataType
на jsonp
позволит jQuery автоматически добавлять дополнительные ?callback=?
в конец вашего url
для указания обратного вызова. Если вы укажете свой собственный, как указано выше, он будет использовать имя callback
, которое вы передаете. Если вам нужно указать имя обратного вызова json, используйте свойство jsonpCallback
. Или вы можете добавить в качестве параметра свойство данных. Если вам нужна дополнительная информация, посетите jQuery API Ajax: http://api.jquery.com/jQuery.ajax/.
Не забудьте добавить ;
в строку результата.
Надеюсь, это поможет!