我应该使用JSONP而不是跨域http请求吗?

时间:2013-05-29 17:33:15

标签: json angularjs jsonp

实际上,我只是在学习angularJS,它将Ajax调用封装到一个名为$http的对象中。

$http具有jsonp属性,用于处理jsonp。这导致我试图发现这个与json略有不同的新事物。

我简单地得出结论,它应该用于跨域问题。 我希望您告诉我,在没有跨域请求的Web应用程序中是否合法使用jsonp

单个域应用程序中可以解决哪些问题?如果有的话?

确实,背景问题是我想知道我是否应该开始使用jsonp'随时'来处理ajax。

1 个答案:

答案 0 :(得分:1)

JSONP的最基本形式很简单,并且在AJAX成为“一件事”之前就已经有效了。

var s = document.createElement('script');
s.src = '/myapi/do.jsonp';
s.type = 'text/javascript';
document.body.appendChild(s);

不需要功能检测或跨浏览器黑客攻击。它只是有效。

有人甚至认为JSONP应用于同域(或至少“受信任”)请求。对外部域的请求最好通过同域代理和安全检查进行管理。