$.ajax({
type : "GET",
dataType : "jsonp",
url : '/',
data : {}
success: function(obj){
}
});
Как мога да използвам $.ajax dataType: jsonp cross-domain за публикуване на данни?
$.ajax({
type : "GET",
dataType : "jsonp",
url : '/',
data : {}
success: function(obj){
}
});
Как мога да използвам $.ajax dataType: jsonp cross-domain за публикуване на данни?
Не е възможно с обикновен 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/.
Не забравяйте да добавите ;
към резултантния низ.
Надявам се това да помогне!