我需要在服务器端执行什么操作才能允许某人使用JSONP从该服务器获取数据。我还需要在用户端做什么?我想使用JSONP替代XMLHttpRequest。
由于同源政策,它无法在我的Firefox扩展中使用。因此,人们推荐使用JSON,但是在Internet上搜索教程和指南后,我很迷失。
谢谢您的帮助!
假设您的服务器运行的是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’]
就是说,如果您的问题使用相同的原始策略,则可能只需要允许从服务器端进行交叉源,一切都应该可以进行。