-2

我有一个快速的问题。基本上,由于 jQuery/Javascript 现在在客户端执行任务非常流行,现在是否有很多需要使用服务器端代码来处理服务器端的事情?

我的意思是,我们有可以响应 ajax 请求的 Web 服务,但我想不出一个很好的理由,例如为什么您要在 ASP.net 中执行任何相关任务。

除非我错过了重点,但我想听听别人的意见。

我想从一个角度来看,您只需要在需要时使用 jQuery/ajax 来处理事情,其余的应该在服务器端完成,但是使用 jQuery 之类的东西,实际上在客户端完成所有事情的速度如此之快。

谢谢!

4

2 回答 2

1

从设计模式的角度来看,将视图与业务逻辑混合是不好的。所以我对你的问题的回答是:“这取决于......”。如果服务具有所有逻辑并返回仅用于绑定和显示的响应 - 我认为没问题。但是混合视图和一些业务逻辑是不行的。

还请记住,关于您正在编写的服务当然是服务器端的。您可能很清楚,但我想强调这样一个事实,即不仅 Web 窗体/MVC 项目是服务器端的,当然所有的 Web 服务也是如此。

于 2013-10-03T11:08:42.260 回答
0

您的问题是基于意见的,这可能会导致投票失败。因此,请尽快尝试访问此站点:http ://programmers.stackexchange.com ,这是询问此类问题的地方。

其次,AJAX 本来就是一个在幕后运行的脚本。如果您将使用 ASP.NET 提交表单,那么实际上我们无法调用Ajax. ASP.NET 和 jQuery 是完全不同的东西。恐怕你已经提到了!那你想做什么?

当您执行 Ajax 时,实际上是在将客户端 (jQuery) 与服务器端 (在您的情况下为 ASP.NET) 混合在一起。换句话说,ajax 需要它们两者。因为这就是 ajax 的作用:

  1. 向后端服务器发出请求。-->客户端启动。

  2. 服务器读取它。-->服务器端启动。

  3. 服务器提供响应。-->服务器端结束。

  4. 浏览器借助 jQuery 写入数据。-->客户端结束。

由于您使用的是 ASP.NET:

我假设你对变量很熟悉,那么你也可以做这个技巧。

var stuff ="";
if(IsPost) {
  // run the code to save the data..which ajax would have..
  stuff="Hey change in lines buddy!";
}

现在在body标签中,你可以这样写:

<div>@stuff</div>

它会做什么?它会在第一页加载不会做任何事情。但是一旦表单被提交stuff就会得到一个值,并且会被写入到页面中。那可以在 ajax 旁边,但不能在 ajax 旁边!客户端将在没有 POSTBACK 的情况下执行操作,但 ASP.NET 表单提交将要求表单首先到达服务器。这段代码会做 ajax 会做的事情,发送数据然后接收响应,然后将结果写入页面。

还是有区别的,但都很好。做自己喜欢的事,而不是别人喜欢的事!

祝你好运,干杯!

于 2013-10-03T11:20:06.227 回答