2012-04-10 96 views
0

对于我所了解的跨域AJAX调用是not possible for security reasons跨域AJAX

我明白这可以通过使用JSON-P来完成。

我的问题:为什么跨域AJAX调用被禁止,但实际上可能在一个不太实际的方式?只是授权它会更简单。

怎么是你应该为那些一种简单的场景做:通过调用谷歌地图的web服务

  • 通过其Web服务获取Flickr图片
  • AJAX到不同的域,但它

    • 地理编码的位置同一个应用程序(服务器农场的例子吗?)
    • ...(这些只是例子)

    如果我必须用服务器端脚本来包装/代理这些调用,那只是无聊而且时间的流逝......您最终无法制作完整的Javascript应用程序? (如果你想使用外部web服务我的意思)

  • 回答

    4

    为什么跨域AJAX调用禁

    您登录到您的银行,对吧?好的,我只需向银行发送一个Ajax请求,然后阅读您的帐号,分类代码等等。

    怎么是你应该为那些一种简单的场景

    • 服务器端代理
    • JSON-P
    • CORS

    如果我有用服务器端脚本来包装/代理这些调用,那只是无聊的一个nd time lost

    如果我们不必担心安全问题,许多事情会更容易。我们不需要门锁,帐户密码等。

    +0

    非常好的答案谢谢,我没有想到会议。事实上,这是严重的;)。不过,我不明白为什么JSON-P不同于直接的AJAX调用(关于安全性)?该调用仍由客户端(浏览器端)? – 2012-04-10 09:51:19

    +0

    JSON-P必须由承载服务的站点有意暴露。 – Quentin 2012-04-10 09:52:18

    +0

    好吧,所以它故意不使用会话或类似的东西,那么我猜。谢谢 – 2012-04-10 09:54:21