拒绝在jsonp请求上执行脚本
这个问题在这里已经有了答案:
在PHP中,在echo之前设置
header('Content-Type: application/json');
而你的PHP没有任何回调(你没有返回JSONP)。 你希望它看起来像..
echo $_GET['callback'].'('.json_encode($arr).')';
编辑
我错过了绝对的明显。 JSONP用于跨站点AJAX调用。 您将它用作脚本。
这是加载数据的一种非常尴尬的方式。 正常的方法是通过脚本中的AJAX调用加载数据,而不是全局加载变量。
如果你真的想用你的设计,保留application / json标签,但是回到原来的echo json_encode($arr);
你也可以放弃?callback ='回调' - 它什么都不做。
你需要强制指定输出类型。 尝试添加
header('Content-Type: application/json');
然后在test.php
输出数组
然后您需要将整个编码输出包装为回调名称,以便客户端上的js可以使用它:
$callbackName = filter_input(INPUT_GET, 'callback');
echo $callbackName . '(' . json_encode($arr) . ')';
链接地址: http://www.djcxy.com/p/8349.html