2010-11-18 83 views
0

我们正在为jsp文件做一个jQuery发布。jQuery跨域错误

我们将包含完整的url到jsp文件,它将返回一个字符串,但在IE和FF中请求被阻止。

有没有办法解决这个问题?

  $.ajax(
       { 
        type : "post", 
        url : "http://www.mydomain.com/my.jsp", 
        data : {string:"some string"}, 
        success:doSuccess 
       } 

将帖子更改为获取网络的相同数据,但它会不会导致XSS问题?

是否使用$ .get有XSS问题?

回答

2

您可以将输出重新格式化为JSONP。全面的描述在这里:

http://api.jquery.com/jQuery.getJSON/

仅供参考,您的浏览器阻止这种情况的原因是为了防止交叉域名脚本攻击:http://en.wikipedia.org/wiki/Cross-site_scripting。 JSONP为您的字符串添加“填充”并防止字符串成为威胁。

+0

是的当然我明白了。我们在客户端,我们的网站托管在其服务器上。所以我们的应用程序正在调用同一个域中的页面。但是,我们的主页在他们的cms内呈现,因此可能来自其他域 – griegs 2010-11-18 04:40:18

+0

是的,我有同样的问题(CMS是SharePoint,但相同的原则)。 JSONP是解决这个问题的最优雅的方式。你只需要设法将你的字符串格式化为Java中的JSONP(也许http://code.google.com/p/jsonp-java/) – Andrew 2010-11-18 04:43:21

0

你在做跨域的ajax请求吗?请求ajax资源的页面的域是什么?

由于安全原因,对跨域ajax请求的支持是有限的。

这可能会给你some input

+0

我应该提到我们没有使用php。 – griegs 2010-11-18 04:45:52