【发布时间】:2012-05-17 22:51:37
【问题描述】:
请参考我之前的问题。我已经标记了一个答案。
我是一名 .NET 开发人员,为一家使用经典 ASP 的公司做一些工作。我的服务器端开发经验是带有某种 MVC 模式的 VB.NET 或 C#。考虑以下代码 sn-p,我将它写在公司希望保留的 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 选项中的一项设置,以允许脚本访问来自其他域的数据。我提出了我的解决方案,但公司必须在每台机器上更改此设置才能使我的脚本正常工作。不是一个理想的解决方案。我该怎么做才能让它在服务器而不是客户端的浏览器上运行?
我对 语法有一点了解,但并不多。
【问题讨论】:
-
我希望有人觉得这很有用...对我来说最简单的事情是创建一个负责与 Web 服务交互的辅助 ASP 页面。如果您使用的是 javascript,请务必指定。 或类似的上下文。再次使用 并将所有调用外部 Web 服务的逻辑放在那里,并使用 Response.Write 返回 Web 服务响应。这些括号之间的任何内容都被视为 OnLoad,当您调用此页面时,代码将自动运行。在您的 ASP 页面中,您希望使用此信息。
-
使用常规的 AJAX。 $.ajax(url:"PageIJustCreated.asp?id1=test&id2=test.success: etc. etc.) 是的,您在同一域的页面上使用 AJAX,这就是它起作用的原因。您正在调用的页面正在向外部 Web 服务服务器端执行代码,因此不会出现跨域问题。
标签: asp-classic