【问题标题】:Run Serverside function from JavaScript从 JavaScript 运行服务器端函数
【发布时间】:2017-04-30 23:07:06
【问题描述】:

我有以下函数(“getValues”),它应该执行服务器端函数(GetCharges)

<script type="text/javascript">
      function getValues() {
         var response = <%GetCharges%> 
         document.getElementById(("<%=txtcharge.ClientID%>")).value = response;}

}   </script>

当我运行它时,我在 html 控件中得到“未定义”。

【问题讨论】:

  • 这里绝对应该避免使用“紧急”之类的词...
  • 您不能直接从网络浏览器运行服务器端代码。需要有某种返回服务器的请求。在这种情况下,您应该考虑使用 AJAX。有大量针对不同风格的 ASP.net 的 AJAX 教程。也许从这里开始:aspsnippets.com/Articles/…
  • 注意,对不起,我是这个社区的新手

标签: javascript html asp.net


【解决方案1】:

您真正想问的是“我如何创建一个 Rest API?”。

Rest API 基本上是您自己创建的 Web 服务器,例如在 Node.js 中使用 Express 框架(谷歌它,我正在使用它,它很棒)。然后你在你的网站上做的是一个 Ajax 调用(例如,使用 jQuery 的函数 $.ajax(...))来访问你的 web 服务器上的 URL。这将在您的服务器上触发一个函数,您的服务器将发回您的网站可以使用的 JSON 格式的响应。

另一种选择是,如果您使用古老的做事方式,例如在您的网站 cgi 文件夹中创建一个 C++ 可执行文件并让您的网站运行该功能,请注意,这是解决此类问题的一种非常过时的方法,效果不佳,主要是因为您需要维护更多代码一种您不经常使用的语言(因为您正忙于制作网站的 javascript 代码)。使用 Node.js 和 Rest API 会更好,因为这样您就可以坚持使用 javascript 并在这方面做得更好,而且它使用起来容易 100 倍。

【讨论】:

  • 我不认为推荐一个完全不同的服务器端技术栈是一个好的答案。 OP 需要的东西可以在他们当前的技术堆栈中找到。但是,学习 AJAX 和 ASP.net Web 方法的教程超出了 StackOverflow 的范围。
  • 同意以上反馈。此外,在 Node 环境中要学习的东西太多了,它是否比 .net 生态系统中的任何东西都更容易学习还不清楚。 而且我们不在这里进行平台/语言大战!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-19
  • 2011-12-09
  • 2011-01-21
  • 2016-01-15
  • 1970-01-01
  • 2011-11-23
相关资源
最近更新 更多