2012-08-09 34 views
-2

因此,我正在写一个jQuery插件,它可以与IE和其他浏览器的工作方式不同。它将使用data:进行文件下载,IE 7和以下版本不支持(我认为?)。所以在这些浏览器上下载文件时,我会使用PHP并发送标题。问题很明显,我必须从外部网站加载Ajax请求,很可能是我自己的。这是不好的做法吗?编写一个jQuery插件来进行外部Ajax调用是不是一个好主意?

+2

什么是'data:'?你如何使用它下载文件?哪个标题?它们如何相关?来自外部网站的Ajax请求在这里扮演什么角色? -1这个问题写得不好。 – 2012-08-09 17:15:16

+1

Ajax不允许跨域引用。 – 2012-08-09 17:22:51

回答

2

不仅是不好的做法,它是禁止的。

使用AJAX,您有相同的域策略,这意味着如果您尝试对未托管脚本的网站执行常规AJAX调用,则会失败。例如,如果您使用IE7并且您的文件托管在somedomain.com上,并且您尝试向someotherdomain.com发出请求,则浏览器将阻止您。这是一项安全功能,主要用于防止XSS(跨站点脚本)。您可以阅读更多有关同域政策和XSS herehere

+0

那我该怎么办? – Ray 2012-08-09 17:26:51

+1

@ Ray我们应该怎么知道?我们仍然不知道你试图完成什么...... – dqhendricks 2012-08-09 17:32:04

+0

那么,你的问题是否是不好的做法。是的,这是不好的做法。除此之外,我们没有更多关于你的代码的知识或你正在尝试做什么,所以我们无法帮助你。 – Polyov 2012-08-09 17:34:18

相关问题