當前位置:首頁 » 文件傳輸 » xml跨域訪問
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

xml跨域訪問

發布時間: 2022-01-16 04:22:11

❶ xmlhttp的不能跨域問題怎麼解決

1、安裝一個webserver,使用http://some/path/some.html的方式訪問數據。
2、chrome瀏覽器下,也可以使用這種方式。打開cmd,打開chrome.exe文件路徑,輸入chrome --allow-file-access-from-files

❷ XMLHttpRequest 跨域請求

伺服器埠和客戶端埠不一致,跨域了,你得使用jsonp之類的來發送請求

❸ javascript讀取xml文件出現跨域問題怎麼解決

首先樓上說的jsonp的方法是可行的
其次,可以對伺服器的Access-Control-Allow-Origin屬性進行配置,不知道樓主用的是什麼應用伺服器,如果是IIS的話,是可以直接配置的,如果是Tomcat的話貌似只有7.0以上才支持配置這個的,其他的應用伺服器也沒怎麼用過,所以不是很清楚了。
另外,如果要是程序和請求的服務在同一個服務下,可以使用document.domain='xxxx.com'將兩者提到同一個域下~

❹ 跨域問題怎麼修改web.xml

REQUEST:
OPTIONS /resources/l.jsp HTTP/1.1
Host: localhost:18086
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36
Access-Control-Request-Headers: accept, x-requested-with, content-type
Accept: */*
Referer: http://localhost:8080/static/proct/ProctInput.html?wef11ssss
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
RESPONSE :
HTTP/1.1 200 OK
Date: Thu, 16 Oct 2014 09:44:35 GMT
Access-Control-Allow-Origin: http://localhost:8080
Access-Control-Allow-Credentials: true
Vary: Origin
Access-Control-Allow-Methods: POST, GET, OPTIONS, HEAD
Access-Control-Allow-Headers: accept, x-requested-with, content-type
Content-Length: 0
Server: Jetty(9.3.0.M0)

❺ xmlhttprequest可以跨域訪問嗎

在非IE下,使用XMLHttpRequest 不能跨域訪問,
除非要訪問的網頁設置為允許跨域訪問。
將網頁設置為允許跨域訪問的方法如下:
Java
Response.AddHeader("Access-Control-Allow-Origin", "*");
或指定域名下可以訪問:
Response.AddHeader("Access-Control-Allow-Origin", "http://www.1688hot.com:80");
PHP
echo:header("Access-Control-Allow-Origin: *");
echo:header("Access-Control-Allow-Origin: http://www.1688hot.com:80");
html
<meta http-equiv="Access-Control-Allow-Origin" content="*">
<meta http-equiv="Access-Control-Allow-Origin" content="h ">
在返回的響應信息中,使用 Access-Control-Allow-Origin 頭來控制哪些域名的腳本可以訪問該資源。如果設置 Access-Control-Allow-Origin:*,則允許所有域名的腳本訪問該資源。如果有多個,則只需要使用逗號分隔開即可。

❻ 怎樣實現xmlhttp.open跨域訪問

XMLHttpRequest不能跨域
可以用jsonp進行跨域

❼ flash swf文件和xml的跨域連接問題 請教高手 謝謝 如下

你的flash裡面要用絕對地址.比如mp3.xml
改成xxx.xxx.com/flashmp3.swf
如果不行的話我的可以給你用啊,網路HI群:1087040

❽ 如何跨域取得XML數據

用php語言寫這樣一個頁面:
$xml="" //引號裡面寫xml的url
header('Content-type:application/xml') //這行代碼不能少,但不知道我是不是都寫對了
$fp=file_get_contents($xml)
echo $fp;

❾ jquery 如何跨域獲取XML文件

var
qsData
=
{'searchWord':$("#searchWord").attr("value"),'currentUserId':$("#currentUserId").attr("value"),'conditionBean.pageSize':$("#pageSize").attr("value")};
$.ajax({
async:false,
url:
http://跨域的dns/document!searchJSONResult.action,
type:
"GET",
dataType:
'jsonp',
jsonp:
'jsoncallback',
data:
qsData,
timeout:
5000,
beforeSend:
function(){
//jsonp
方式此方法不被觸發.原因可能是dataType如果指定為jsonp的話,就已經不是ajax事件了
},
success:
function
(json)
{//客戶端jquery預先定義好的callback函數,成功獲取跨域伺服器上的json數據後,會動態執行這個callback函數
if(json.actionErrors.length!=0){
alert(json.actionErrors);
}
genDynamicContent(qsData,type,json);
},
complete:
function(XMLHttpRequest,
textStatus){
$.unblockUI({
fadeOut:
10
});
},
error:
function(xhr){
//jsonp
方式此方法不被觸發.原因可能是dataType如果指定為jsonp的話,就已經不是ajax事件了
//請求出錯處理
alert("請求出錯(請檢查相關度網路狀況.)");
}
});
注意:$.getJSON("
http://跨域的dns/document!searchJSONResult.action?name1="+value1+"&jsoncallback=?",
function(json){
if(json.屬性名==值){
//
執行代碼
}
});
這種方式其實是上例$.ajax({..})
api的一種高級封裝,有些$.ajax
api底層的參數就被封裝而不可見了.
這樣,jquery就會拼裝成如下的url
get請求
http://跨域的dns/document!searchJSONResult.action?&jsoncallback=jsonp1236827957501&_=1236828192549&searchWord=%E7%94%A8%E4%BE%8B¤tUserId=5351&conditionBean.pageSize=15
在響應端(http://跨域的dns/document!searchJSONResult.action),
通過
jsoncallback
=
request.getParameter("jsoncallback")
得到jquery端隨後要回調的js
function
name:jsonp1236827957501
然後
response的內容為一個Script
Tags:"jsonp1236827957501("+按請求參數生成的json數組+")";
jquery就會通過回調方法動態載入調用這個js
tag:jsonp1236827957501(json數組);
這樣就達到了跨域數據交換的目的.
jsonp的最基本的原理是:動態添加一個<script>標簽,而script標簽的src屬性是沒有跨域的限制的。這樣說來,這種跨域方式其實與ajax
XmlHttpRequest協議無關了.
這樣其實"jQuery
AJAX跨域問題"就成了個偽命題了,jquery
$.ajax方法名有誤導人之嫌.
如果設為dataType:
'jsonp',
這個$.ajax方法就和ajax
XmlHttpRequest沒什麼關系了,取而代之的則是JSONP協議.
JSONP是一個非官方的協議,它允許在伺服器端集成Script
tags返回至客戶端,通過javascript
callback的形式實現跨域訪問
JSONP即JSON
with
Padding。由於同源策略的限制,XmlHttpRequest只允許請求當前源(域名、協議、埠)的資源。如果要進行跨域請求,
我們可以通過使用html的script標記來進行跨域請求,並在響應中返回要執行的script代碼,其中可以直接使用JSON傳遞javascript對象。
這種跨域的通訊方式稱為JSONP。
jsonCallback
函數jsonp1236827957501(....):
是瀏覽器客戶端注冊的,獲取跨域伺服器上的json數據後,回調的函數
Jsonp原理:
首先在客戶端注冊一個callback
(如:'jsoncallback'),
然後把callback的名字(如:jsonp1236827957501)傳給伺服器。
此時,伺服器先生成
json
數據。
然後以
javascript
語法的方式,生成一個function
,
function
名字就是傳遞上來的參數
'jsoncallback'的值
jsonp1236827957501
.
最後將
json
數據直接以入參的方式,放置到
function
中,這樣就生成了一段
js
語法的文檔,返回給客戶端。
客戶端瀏覽器,解析script標簽,並執行返回的
javascript
文檔,此時javascript文檔數據,作為參數,
傳入到了客戶端預先定義好的
callback
函數(如上例中jquery
$.ajax()方法封裝的的success:
function
(json))里.(動態執行回調函數)
可以說jsonp的方式原理上和<script
src="http://跨域/...xx.js"></script>是一致的(qq空間就是大量採用這種方式來實現跨域數據交換的)
.JSONP是一種腳本注入(Script
Injection)行為,所以也有一定的安全隱患.
注意,jquey是不支持post方式跨域的.
為什麼呢?
雖然採用post
+動態生成iframe是可以達到post跨域的目的(有位js牛人就是這樣把jquery1.2.5
打patch的),但這樣做是一個比較極端的方式,不建議採用.
也可以說get方式的跨域是合法的,post方式從安全形度上,被認為是不合法的,
萬不得已還是不要劍走偏鋒..
client端跨域訪問的需求看來也引起w3c的注意了,看資料說html5
WebSocket標准支持跨域的數據交換,應該也是一個將來可選的跨域數據交換的解決方案.

❿ 怎樣解決js讀取xml文件跨域問題

js讀取xml文件跨域 問題,可以使用以下幾種方法:

1通過jsonp跨域 :在js中,我們直接用XMLHttpRequest請求不同域上的數據時,是不可以的。但是,在頁面上引入不同域上的js腳本文件卻是可以的,jsonp正是利用這個特性來實現的。代碼如下:

3使用window.name來進行跨域 :每個頁面對window.name都有讀寫的許可權,window.name是持久存在一個窗口載入過的所有頁面