【问题标题】:Easiest way to simply display confirmation that a webservice worked?简单地显示确认网络服务工作的最简单方法是什么?
【发布时间】:2010-12-09 01:25:14
【问题描述】:

我从一个 ASP 经典页面调用一个 asp.net 网络服务,基本上只是:

<a href='http://domain/webservice.asmx/command'>Command</a>

当用户点击该按钮时,它可以工作,但他们只是显示一个 xml 页面。该功能将起作用或不起作用,所以我想知道是否有可能出现一个弹出框来告诉他们在他们单击它之后它是否起作用,而不是将它们重定向到 xml 页面。

我宁愿不必使用 jQuery 或其他 javascript 库。

如果这不可能,有什么方法可以修饰 XML 页面吗?目前它显示“此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。在顶部。

此外,Web 服务所在的域与调用 Web 服务的网站所在的域不同。不确定这是否重要。

谢谢

【问题讨论】:

    标签: asp.net web-services


    【解决方案1】:

    看看这个MSDN Link on Calling A WebService From Javascript Using AJAX。不需要 JQuery,归结为必须在 WebService 方法上使用 ScriptService 属性并在 ScriptManager 控件中添加 ServiceReference。然后,您可以轻松地从 Javascript 调用您的 WebService,它会在完成时调用另一个 Javascript 函数。您可以在该响应函数中添加确认显示。

    【讨论】:

      【解决方案2】:

      请注意,让用户直接处理是个坏主意 - Web 服务几乎总是由您的代码调用,而不是由客户端浏览器会话调用。一个原因是,如果出现问题,原始错误信息会告知客户端。

      如果你真的想这样做,你可以:

      • 使用 AJAX(无需框架 - 只需 JS)或
      • 您可以将 Web 服务设为非标准,使其返回用户友好的内容 - 或许可以通过将其包装在一个网站中,该网站在后台调用 API 并以有意义的方式格式化响应。

      【讨论】:

      • 谢谢,安全不是问题,因为这是一个内部站点。我怎样才能使用 ajax 来拨打电话呢?所有指南都看到在您调用的页面上需要一个脚本管理器,afaik,您需要一个 asp.net 吗?我是从一个 asp 经典页面调用的。
      • 好的,你需要创建一个xmlhttprequest 对象 - google 一下,这很常见(你可以使用 JS 版本让客户端进行调用,也可以使用服务器端版本进行调用在 ASP 经典中)。我建议您的模型中使用 JS 版本。如果您有任何问题,请告诉我,我会发布示例代码
      猜你喜欢
      • 2020-06-04
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多