2012-02-02 74 views
-2

我是一個新手,請幫助我使用jquery從不同的域讀取xml。 請幫我一把。我使用下面的代碼 -jQuery從不同的域讀取xml

$(document).ready(function() { 
    $.ajax({ 
     type: "GET", 
     url: "xmlname.xml", 
     dataType: "xml", 
     success: parseXml 
    }); 
}); 

但我想要的網址應該是http://www.websiteName.com/xmlname.xml

+0

我認爲,你只能從不同的域retrive數據,如果您使用JSONP,但我可能是錯 – ianbarker 2012-02-02 13:07:03

回答

0

你不能從其他域訪問資源。這是Same origin policy的限制。 @ianbarker是正確的,使用JSONP可以讓你解決這個限制。


編輯

你可以使用這樣的事情來代理請求。

<%@ Language=vbScript%> 
<% 
    Dim xmlhttp 
    Set xmlhttp = Server.Createobject("MSXML2.ServerXMLHTTP") 
    xmlhttp.Open "GET", "http://othersite/page.asp", false 
    xmlhttp.Send Nothing 
    Response.Write xmlhttp.responsexml.xml 
    Set xmlhttp = Nothing 
%> 
+0

感謝您的答覆。非常感激!!但有沒有辦法使用代理加載? – Drozzy 2012-02-02 13:14:20

+0

是的,您可以通過@Alan Beech建議的Web應用程序代理請求。 – 2012-02-02 13:20:12

+0

我使用的是經典ASP – Drozzy 2012-02-02 13:23:27

0

我不知道你在用什麼服務器端技術。但在.NET MVC中,你會通過控制器調用數據服務器端,並以json/xml的形式在本地返回。

+0

我使用的是經典的ASP – Drozzy 2012-02-02 13:36:11

+0

http://hashworld.com.au/test/test.html你能幫我找出一個行動不能單擊一下。我必須點擊兩次以查看數據 – Drozzy 2012-02-02 14:06:45

0

創建一個只包含以下內容的asp頁面,並將其視爲來自jquery的遠程xml頁面。因爲它是本地的,你可以查詢它。

將Response.Buffer = TRUE

昏暗objXMLHTTP,XML,文本

組XML =的Server.CreateObject( 「Microsoft.XMLHTTP」) '或者,如果這不工作,那麼嘗試: '組XML =的Server.CreateObject( 「MSXML2.ServerXMLHTTP」)

xml.Open 「GET」, 「」,假

的XML.send

文本= xml.ResponseText 的Response.Write(文本)

組XML =無