一尘不染

如何设置JSONP?

json

我需要在服务器端执行什么操作才能允许某人使用JSONP从该服务器获取数据。我还需要在用户端做什么?我想使用JSONP替代XMLHttpRequest。

由于同源政策,它无法在我的Firefox扩展中使用。因此,人们推荐使用JSON,但是在Internet上搜索教程和指南后,我很迷失。

谢谢您的帮助!


阅读 256

收藏
2020-07-27

共1个答案

一尘不染

假设您的服务器运行的是PHP,则只需添加“回调” GET请求。

<?php header('content-type: application/json; charset=utf-8');
$data = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); 
echo $_GET['callback'] . '('.json_encode($data).')';

在客户端(使用jQuery):

$.ajax({url: 'http://site.com/data.php', dataType:'jsonp'});

上面的PHP代码仅用于演示,不要忘记清理 $
_GET [‘callback’]

就是说,如果您的问题使用相同的原始策略,则可能只需要允许从服务器端进行交叉源,一切都应该可以进行。

2020-07-27