Php 什么';.getJSON()中jsoncallback参数的用法是什么?
在许多示例代码中,我看到.getJSON()的格式类似Php 什么';.getJSON()中jsoncallback参数的用法是什么?,php,jquery,ajax,json,getjson,Php,Jquery,Ajax,Json,Getjson,在许多示例代码中,我看到.getJSON()的格式类似 $.getJSON("url?jsoncallback=?", function(data){ ...} 在后端,响应是这样写的 $response = $_GET["jsoncallback"]."(".json_encode($orders).")"; echo $reponse 我从url中删除了“?jsoncallback=?”,并在后端删除了$_GET[“jsoncallback”]和方括号,似乎一切都正常。那么,jsonca
$.getJSON("url?jsoncallback=?", function(data){
...}
在后端,响应是这样写的
$response = $_GET["jsoncallback"]."(".json_encode($orders).")";
echo $reponse
我从url中删除了“?jsoncallback=?”,并在后端删除了$_GET[“jsoncallback”]和方括号,似乎一切都正常。那么,jsoncallback的东西到底有什么用呢?回调名称用于,这是一种绕过jQuery的方法。JSON回调可用于显示跨域数据。JSONP用于进行跨域调用,因为同一源策略不允许它。查看下面的示例
如果您没有
jsoncallback=?
它只执行普通的JSON请求,而不是JSONP*。您可以在自己的服务器或发送头的服务器上执行正常的JSON请求
*忘记JSONP吧,这是一个花哨的名称,用于在文档中插入脚本元素,该元素运行来自外部服务器的代码,但与您自己的脚本具有相同的授权。
$\u GET[“jsoncallback”]
使其成为如下javascript函数调用:
fn({"data": "value"});
这是像
这样的脚本中的代码。如您所见,这是Javascript,而不是JSON。有了它,foreign.org(或黑客)可以更改他们的脚本以在您的页面上进行任何授权操作,因此在使用“JSONP”时要小心,并且更喜欢CORS JSON。那么在使用.getJSON()时是否有必要添加jsoncallback?因为当我在没有jsoncallback的情况下使用.getJSON时,我没有看到任何区别。