【问题标题】:Client side trouble when calling调用时客户端问题
【发布时间】:2012-05-17 22:51:37
【问题描述】:

请参考我之前的问题。我已经标记了一个答案。

Question

我是一名 .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


【解决方案1】:

这个 SO Question 应该可以帮助您调用服务服务器端: Calling REST web services from a classic asp page

总结一下,使用 MSXML2.ServerXMLHTTP

Set HttpReq = Server.CreateObject("MSXML2.ServerXMLHTTP")
HttpReq.open "GET", "Rest_URI", False
HttpReq.send

并查看这些文章:

您还需要一种方法来parse JSON

【讨论】:

  • 您好 Jon,感谢您提供这些资源。除了包含 CDN jQuery 来解析我的回复之外,我不需要做任何其他事情。在这里不行吗?
  • 如果我没记错的话,页面加载时不是运行服务器端脚本吗?页面加载时我无法验证用户输入,我必须等到他们明确点击按钮。
  • 是的,服务器端脚本在页面加载时运行。但它也可以响应发布的表单而运行,即在表单标签中单击按钮。查看有关请求对象的这篇文章,了解如何访问用户输入codeguru.com/csharp/.net/net_asp/article.php/c19325/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 2021-02-25
  • 2011-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多