請使用我以前的問題作爲參考。我已經標記了答案。客戶端撥打電話時出現故障
我是一個.NET開發人員做了一個使用經典的ASP公司一些工作。我對服務器端開發的經驗是VB.NET或C#與某種MVC模式。考慮下面的代碼片斷,我把它寫在一個公司希望保留的ASP頁面中,並在需要此Web呼叫的其他頁面中「包含」。有點像一段可重複使用的代碼。出於理智的原因,我遺漏了一些。
//Create ActiveXObject, subscribe to event, and send request
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
xmlDoc.loadXML(xmlHttp.responseText);
debugger;
var JSON = $.xml2json(xmlDoc);
parseResponse(JSON);
}
}
urlToSend = encodeURI(REQUEST);
urlRest += urlToSend
xmlHttp.open("GET", urlRest, false);
xmlHttp.send(null);
經過各種各樣的安全問題掙扎後,我很高興,當這最後工作。我更改了Internet選項中的設置,以允許腳本訪問其他域中的數據。我提出了我的解決方案,但公司必須在每臺機器上更改此設置才能使腳本正常工作。不是理想的解決方案。我可以做些什麼來使其在服務器而不是客戶端的瀏覽器上運行?
我對<%%>語法有一點認識,但不多。
我希望有人認爲這有用的......對我來說,最容易的事情是建立一個輔助ASP頁負責與網絡進行交互服務。如果你使用的是JavaScript,請確保你指定了。 <%@ language = javascript%>或類似的上下文。再次使用<% %>並在那裏放置所有調用外部Web服務的邏輯並使用Response.Write返回Web服務響應。不管這些括號之間是什麼,都會像OnLoad一樣處理,當你調用這個頁面時,代碼將自動運行。在您的ASP頁面中,您要使用此信息。 – user1290284
使用常規AJAX。 $ .ajax(url:「PageIJustCreated.asp?id1 = test&id2 = test。success:etc.等等)是的,你在同一個域的頁面上使用AJAX,這就是爲什麼它可以工作。正在執行代碼到外部Web服務服務器端,所以你最終沒有跨域問題。 – user1290284