为什么不允许跨域AJAX调用?

除了JSONP,为什么要遵循相同的域策略?

出于安全原因,已实施同源政策​​; 引用维基百科的相关句子:

这种机制对于广泛依赖HTTP cookie来维护经过身份validation的用户会话的现代Web应用程序具有特别重要的意义,因为服务器基于HTTP cookie信息来发布敏感信息或采取状态更改操作。
必须在客户端维护不相关站点提供的内容之间的严格分离,以防止数据机密性或完整性的丢失。

基本上,您不希望任何给定的网站(例如您可能正在浏览的任何网站 – 我们都知道人们有时会到达您不应该信任的网站)能够访问来自任何其他网站的数据(例如您的网络邮件) ,或社交网络上的帐户)

因为同源政策 。

存在同源策略以防止恶意使用资源。 如果没有管理跨域脚本访问的规则,那么对不知情的用户造成各种各样的破坏将是微不足道的。 例如,恶意网站很容易将您的会话信息抓取到另一个站点并代表您执行操作。

举个例子,考虑一下:

你去你最喜欢的网络邮件程序 – 它可能是Gmail,雅虎邮件,Hotmail或私人内部公司网络邮件程序。

登录并检查电子邮件后,单击指向恶意网站的链接,该链接将在新选项卡中打开。

恶意网站会检查http referer并发现您来自您的电子邮件帐户。

使用跨域脚本,恶意站点可以回到您的电子邮件选项卡中,并下载您的地址簿和所有电子邮件(或者在关闭弹出窗口之前可以获得的许多电子邮件)。

随后,在扫描您的电子邮件以查找密码,财务数据和其他敏感材料后,它会向您的所有联系人发送一封来自您的电子邮件,该电子邮件支持同一网站。 这只是一个例子。 一个更阴险的阴谋将涉及恶意第三方使用您的浏览器来蜘蛛您公司的内部网,泄露机密信息作为不知情的帮凶!

更多关于http://jimbojw.com/wiki/index.php?title=Introduction_to_Cross-Domain_Ajax