问题标签 [controller-action]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1002 浏览

ruby-on-rails - 如何测试一个不存在的控制器动作?

在 中只有两个可访问的操作ProductsController

相应地设置测试:

您将如何测试其他CRUD 操作不可访问?这可能会在未来发生变化,因此测试将确保任何配置更改都会被注意到。 我找到了看起来很有希望覆盖测试用例的匹配器。
be_routable


我推荐Dave Newton 的这篇文章,它描述了何时以及为什么要测试控制器动作

0 投票
3 回答
1317 浏览

ruby-on-rails - Rails 渲染并传递查询参数

这是在登录操作中。我正在尝试对其进行调整以发回 return_url 查询参数,但我在简单的渲染中失败了。

事先的:

尝试1:

尝试2:

0 投票
1 回答
587 浏览

asp.net - 抛出异常的 Asp.Net MVC cookie

我有一个很奇怪的问题。希望任何人都可以阐明,因为我无法在任何地方找到答案。

场景:调用控制器动作并发生异常。同时,我在 Response.Cookies 中添加了一个新的 cookie。

但是没有 cookie 与 Response 一起发送(甚至在 Fiddler 中检查)。

有趣的是,以前在使用通用处理程序的 Web 表单中,同样的场景也适用于我。

有什么想法吗?

代码片段

0 投票
1 回答
2129 浏览

angularjs - AngularJS 控制器是否曾经使用过一种以上的操作/设置方法?

我见过的大多数 AngularJS 控制器示例,通常都有一个单独的操作方法,可以为视图连接所有内容。另一方面,在使用 MVC 模式而不是 AngularJS 的 MVW 的控制器中,每个控制器通常有多个操作方法,但 AngularJS 似乎并非如此。

如果可以将任意数量的执行行为的方法连接到 $scope(或其他对象),这似乎与 MVC 的操作方法相同,因为它们不会自动接受直接路由输入。

我很感兴趣,因为我正在尝试将现有的 Asp.net MVC 应用程序转换为 Angular,并且我正在尝试为控制器确定最佳的组织分解。

我的各种假设是否正确?

AngularJS 控制器是否曾经使用过一种以上的操作/设置方法?

角度控制器是否曾经分解为单独的动作?还是角度控制器或多或少有一个动作,尽管路由和视图可能不同?


更新
请求的示例 - AngularJS 控制器:

Asp.Net 控制器 MVC 示例:

Ruby on Rails 控制器示例:

如果你看这三个例子,AngularJS 只有一个构造函数/设置方法,而 Asp.net MVC 例子有一个构造函数和两个动作方法。 Ruby of rails 例子甚至没有可见的构造函数,只是动作方法。Asp.net MVC 示例(或 Ruby on Rails 示例)类似于其他 MVC 实现中的操作数量。在 AngularJS 中,我猜只有一个动作/构造函数方法,其中一个会附加任何额外的行为。另一方面,Asp.net MVC 示例有一个构造函数和两个动作方法,它们都可以以不同的方式路由到。类似于单个 AngularJS 委托人/动作。

0 投票
1 回答
1153 浏览

asp.net-mvc - ASP.NET MVC - 逗号分隔双作为控制器动作的参数

我有以下控制器操作:

和适当的ajax请求:

此外,使用逗号作为小数分隔符的区域性。

例如,当我使用“12,34”作为数量进行 ajax 请求时,在控制器操作中我得到的数量为 1234d。

如果我将 ajax 请求的类型更改为“POST”,那么我会在操作中获得所需的数量为 12,34d。

GET 请求发生了什么?看起来就像在未使用的 GET 请求文化中一样(逗号很简单)。

0 投票
3 回答
4594 浏览

c# - ASP.NET MVC 4:一次只允许一个请求

在我的 ASP.NET MVC 应用程序中,我想按顺序处理所有请求;任何动作/控制器代码不应与另一个同时执行。如果两个请求同时进入,它应该首先运行第一个请求,然后在第一个请求完成后运行第二个请求。

除了使用全局锁变量之外,还有更好的方法吗?

编辑:该应用程序更像是 Web 上的批处理/服务,它执行 Web 服务调用并清理数据库。站点中不同的 URL 会导致不同的批处理操作。这不是面向最终用户的网站。因此,我需要这样做,以便一次只完成对 URL 的一个请求(它将执行一些批处理操作),否则如果批处理操作的代码与其自身或其他批处理操作同时运行,则批处理操作可能会损坏. 事实上,如果另一个请求在当前执行时出现,则根本不应该运行它,即使在前一个请求完成之后也是如此;它应该只给出一条错误消息。

我想知道是否有办法在 IIS 中而不是代码中执行此操作。如果我有一个全局锁变量,它会使代码更复杂,并且我可能会陷入死锁,锁变量设置为 true 但永远不能设置为 false。

编辑:实施计划的示例代码

我是否需要担心代码没有达到 Config.Lock = false 的情况,从而导致 Config.Lock = true 永远,导致不再提供请求?

0 投票
1 回答
1289 浏览

ajax - 通过ajax将json字符串发布到mvc动作为null

我正在通过 ajax 发布一个 json 对象

采取以下行动:

模型:

jsonData 参数值始终为空。

当我把它变成通过

然后参数作为json字符串很好。

我需要通过邮寄方式发送。

编辑 ***** JS 值

我在 Chrome 中调试,传递给“ajax 数据:”的 jsonData 是

如果通过非字符串化是:

0 投票
3 回答
4325 浏览

controller - 从另一个控制器调用另一个模块中的控制器

Yii::$app->runAction('new_controller/new_action', $params);

我相信这可以用来从另一个控制器调用控制器动作。

有没有办法调用驻留在另一个模块中的控制器操作?

就像是:

Yii::$app->runAction('/route/to/other/module/new_controller/new_action', $params);

这可能吗?

0 投票
1 回答
73 浏览

ruby - 创建一个新的 Ruby on Rails 操作以在每次点击链接时更新一个布尔值

在试图让它与我对 Rails 的了解相当长一段时间后,我一直在谷歌上搜索大约一个小时的答案,并决定足够了。在我的索引页面上,我想创建一个按钮,其作用类似于默认的“删除”操作,但它会更新一个布尔值。这是我在控制器中的操作:

我会向您展示我的路线,但我不知道如何让它做我想做的事,并且在尝试了每个人的路线后,我拥有基本的“资源:server_monitors”,这些路线可以为他们的基本博客网站添加新的显示页面。我只知道 URI 模式应该是 '/server_monitors/:id(.:format)' 和控制器操作 'server_monitors#update_monitor_state',我想在视图中调用它,比如调用 'delete'。

0 投票
1 回答
60 浏览

javascript - ajax POST 没有传回正确的数据

我试图将一个 json 对象传回我的设备控制器中的操作,然后将其插入到数据库中,但是当我单击表单上的提交按钮时,它似乎触发了两次。另一个问题是我在 json 对象中的位置字段和 pfID 没有被发送回控制器,其他字段被正确发送回。这是我的代码:

在我提醒我的 pfID 的地方,它返回一个字符串"ba4475ef-0eed-441a-a77e-d733c288bf8e"

这是我的模型:

这是我的发布方法:

这是我在视图中的表格: