Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 什么';.getJSON()中jsoncallback参数的用法是什么?_Php_Jquery_Ajax_Json_Getjson - Fatal编程技术网

Php 什么';.getJSON()中jsoncallback参数的用法是什么?

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()的格式类似

$.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时,我没有看到任何区别。