问题标签 [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.
ruby-on-rails - 如何测试一个不存在的控制器动作?
在 中只有两个可访问的操作ProductsController
:
相应地设置测试:
您将如何测试其他CRUD 操作不可访问?这可能会在未来发生变化,因此测试将确保任何配置更改都会被注意到。
我找到了看起来很有希望覆盖测试用例的匹配器。be_routable
ruby-on-rails - Rails 渲染并传递查询参数
这是在登录操作中。我正在尝试对其进行调整以发回 return_url 查询参数,但我在简单的渲染中失败了。
事先的:
尝试1:
尝试2:
asp.net - 抛出异常的 Asp.Net MVC cookie
我有一个很奇怪的问题。希望任何人都可以阐明,因为我无法在任何地方找到答案。
场景:调用控制器动作并发生异常。同时,我在 Response.Cookies 中添加了一个新的 cookie。
但是没有 cookie 与 Response 一起发送(甚至在 Fiddler 中检查)。
有趣的是,以前在使用通用处理程序的 Web 表单中,同样的场景也适用于我。
有什么想法吗?
代码片段
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 委托人/动作。
asp.net-mvc - ASP.NET MVC - 逗号分隔双作为控制器动作的参数
我有以下控制器操作:
和适当的ajax请求:
此外,使用逗号作为小数分隔符的区域性。
例如,当我使用“12,34”作为数量进行 ajax 请求时,在控制器操作中我得到的数量为 1234d。
如果我将 ajax 请求的类型更改为“POST”,那么我会在操作中获得所需的数量为 12,34d。
GET 请求发生了什么?看起来就像在未使用的 GET 请求文化中一样(逗号很简单)。
c# - ASP.NET MVC 4:一次只允许一个请求
在我的 ASP.NET MVC 应用程序中,我想按顺序处理所有请求;任何动作/控制器代码不应与另一个同时执行。如果两个请求同时进入,它应该首先运行第一个请求,然后在第一个请求完成后运行第二个请求。
除了使用全局锁变量之外,还有更好的方法吗?
编辑:该应用程序更像是 Web 上的批处理/服务,它执行 Web 服务调用并清理数据库。站点中不同的 URL 会导致不同的批处理操作。这不是面向最终用户的网站。因此,我需要这样做,以便一次只完成对 URL 的一个请求(它将执行一些批处理操作),否则如果批处理操作的代码与其自身或其他批处理操作同时运行,则批处理操作可能会损坏. 事实上,如果另一个请求在当前执行时出现,则根本不应该运行它,即使在前一个请求完成之后也是如此;它应该只给出一条错误消息。
我想知道是否有办法在 IIS 中而不是代码中执行此操作。如果我有一个全局锁变量,它会使代码更复杂,并且我可能会陷入死锁,锁变量设置为 true 但永远不能设置为 false。
编辑:实施计划的示例代码
我是否需要担心代码没有达到 Config.Lock = false 的情况,从而导致 Config.Lock = true 永远,导致不再提供请求?
ajax - 通过ajax将json字符串发布到mvc动作为null
我正在通过 ajax 发布一个 json 对象
采取以下行动:
模型:
jsonData 参数值始终为空。
当我把它变成通过
然后参数作为json字符串很好。
我需要通过邮寄方式发送。
编辑 ***** JS 值
我在 Chrome 中调试,传递给“ajax 数据:”的 jsonData 是
给
如果通过非字符串化是:
controller - 从另一个控制器调用另一个模块中的控制器
Yii::$app->runAction('new_controller/new_action', $params);
我相信这可以用来从另一个控制器调用控制器动作。
有没有办法调用驻留在另一个模块中的控制器操作?
就像是:
Yii::$app->runAction('/route/to/other/module/new_controller/new_action', $params);
这可能吗?
ruby - 创建一个新的 Ruby on Rails 操作以在每次点击链接时更新一个布尔值
在试图让它与我对 Rails 的了解相当长一段时间后,我一直在谷歌上搜索大约一个小时的答案,并决定足够了。在我的索引页面上,我想创建一个按钮,其作用类似于默认的“删除”操作,但它会更新一个布尔值。这是我在控制器中的操作:
我会向您展示我的路线,但我不知道如何让它做我想做的事,并且在尝试了每个人的路线后,我拥有基本的“资源:server_monitors”,这些路线可以为他们的基本博客网站添加新的显示页面。我只知道 URI 模式应该是 '/server_monitors/:id(.:format)' 和控制器操作 'server_monitors#update_monitor_state',我想在视图中调用它,比如调用 'delete'。
javascript - ajax POST 没有传回正确的数据
我试图将一个 json 对象传回我的设备控制器中的操作,然后将其插入到数据库中,但是当我单击表单上的提交按钮时,它似乎触发了两次。另一个问题是我在 json 对象中的位置字段和 pfID 没有被发送回控制器,其他字段被正确发送回。这是我的代码:
在我提醒我的 pfID 的地方,它返回一个字符串"ba4475ef-0eed-441a-a77e-d733c288bf8e"
这是我的模型:
这是我的发布方法:
这是我在视图中的表格: