2010-11-18 100 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