jquery $ .ajax jsonp

Thi*_*80s 16 ajax jquery jsonp cross-domain

$.ajax({
    type : "GET",
    dataType : "jsonp",
    url : '/',
    data : {}
    success: function(obj){

    }
});
Run Code Online (Sandbox Code Playgroud)

我如何使用$ .ajax dataType:jsonp跨域发布数据?

Jon*_*llo 38

要回答您的问题,而不是将您发送到上述其他链接:

JS:

$.ajax({
     type : "GET",
     dataType : "jsonp",
     url : "http://domainname.com/json.php?callback=?", // ?callback=?
     success: function(data){
           // do stuff with data
     }
});
Run Code Online (Sandbox Code Playgroud)

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 . ')';
?>
Run Code Online (Sandbox Code Playgroud)

设置dataTypejsonp将允许jQuery自动添加额外?callback=?的内容url以指定回调.如果您在上面指定了自己的callback名称,它将使用您传递的名称.如果需要指定json回调名称,请使用该jsonpCallback属性.或者您可以添加为数据属性的参数.如果您需要更多信息,请访问jQuery API Ajax:http://api.jquery.com/jQuery.ajax/.

不要忘记;在结果字符串上添加.

我希望这有帮助!

  • 非常感谢!看了十几个例子,这个终于让我的代码工作了! (3认同)

gen*_*sis 3

简单的 jsonp 是不可能的。读这个

  • 不确定这有什么帮助?它没有提供解决方案,只是说你做不到。 (2认同)