问题标签 [unobtrusive-ajax]

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 投票
5 回答
9891 浏览

jquery - 如何在 MVC3 Ajax.ActionLink OnBegin,OnComplete 事件中使用 $(this)

我的控制器创建一个这样的链接列表

我有一些像这样的javascript

在 BeginUpdatePage 函数第 1 行和第 3 行执行正常,但第 2 行 "$(this).parent().addClass('selected');" 没有明显地做任何事情......(我已经在我的css中声明了那个类)。

我查看了 Jquery 文档(Jquery.ajax()),它说“this”是被点击的元素。我还签入了默认情况下在我的项目中的“jquery.unobtrusive-ajax.js”。该文件在执行我的函数时也会传递“this”。

我在这里做错了什么......我见过其他使用这种技术的例子,但我一整天都失败了!

如何在我的 Begin 中找到被点击的元素,完成功能。

0 投票
1 回答
648 浏览

asp.net-mvc-3 - ASP.NET MVC Unobtrusive Ajax 在移动端 Safari 中依然突兀

如果我Ajax.ActionLink在我的 ASP.NET MVC 3 应用程序中使用,当我使用移动 Safari 浏览网站并单击我的 ajax 链接时,浏览器地址栏会下拉并简要显示 POST url。没什么大不了的,但它会分散注意力,而且大多数支持 Ajax 的网站似乎都没有这个问题。我能做些什么来避免这种情况发生,并且仍然可以使用 Ajax 助手

0 投票
2 回答
306 浏览

asp.net-mvc-3 - 一个ajax调用4次相同的ajax请求,为什么?

我在启用了不显眼的 JavaScript 的 MVC 3.0 中有以下代码。

单击搜索按钮同时发出 4 个 Ajax 请求,这也导致调用“成功”方法 4 次!

笔记!!!如果我禁用不显眼的 JavaScript,问题就会消失!请检查所附图片。

萤火虫结果

0 投票
3 回答
8475 浏览

asp.net-mvc - Ajax登录动态弹出对话框

我认为这应该有很好的记录,因为这似乎是一个很常见的场景。不幸的是,我发现那里有很多相互矛盾的信息,并且对于以 MVC 3 兼容、不显眼的 Ajax 方式来解决这个问题的正确方法没有真正的共识。我当然可以拼凑一些“有效”的东西,但我宁愿按照它应该通过框架完成的方式来做。

这就是我需要的。我在网站的右上角有登录链接。该站点允许经过身份验证和未经身份验证的用户。所以,当用户单击登录链接时,我希望有一个动态的 ajax 弹出窗口。

这应该传给控制器,并拉回登录对话框的 HTML。然后它应该显示在 jquery ui 弹出对话框中,当用户输入他们的信息时,它应该将他们重定向到“仪表板”页面(无论他们当前在哪个页面上)。如果他们输入了错误的凭据,它应该停留在当前页面上,弹出对话框仍然打开并显示验证错误(“用户名或密码不正确”)。

换句话说,它必须绑定到 mvc 3 不显眼的验证并使用不显眼的 ajax,并在 jquery ui 对话框中显示内容。

这似乎没有我想象的那么简单。任何指向这样做的示例的指针?谁有样品可以分享?

更新:

传统观点是,如果您需要重定向,请不要使用 Ajax。但是,在这种情况下,需要 Ajax,因为我需要验证信用并发布验证错误,而不会导致页面刷新或重定向到不同的登录页面。我需要通过身份验证并在弹出对话框中发布错误。

0 投票
2 回答
22687 浏览

asp.net-mvc-3 - ASP.NET MVC 3 和 jquery.unobtrusive-ajax.min.js

我想使用 Ajax.ActionLink Html 帮助程序,因此我需要 jquery.unobtrusive-ajax.min.js 库,但 IE 总是显示此错误:

Microsoft JScript 运行时错误:无法设置属性“unobtrusive”的值:对象为空或未定义

我已经读到解决方案是使用 jquery.validate.min.js 和 jquery.validate.unobtrusive.min.js 但后来我无法识别服务器端的 ajax 调用。

0 投票
3 回答
8374 浏览

jquery - 如果在 Ajax 表单中使用,jQuery 不显眼的验证会忽略提交按钮上的“取消”类

我正在尝试使用实现可选的客户端验证

  • ASP.NET MVC 4,
  • 不显眼的 jQuery 验证,
  • 不显眼的ajax

这工作正常

下面的图片显示了我对可选客户端验证的含义:我的表单上唯一的一个字段应该包含电子邮件,因此附加了一个电子邮件验证器。

在此处输入图像描述

现在我们点击保存。因为我们的文本“name@doamin”不是有效的电子邮件,所以会显示验证摘要。连同验证摘要,我们将取消隐藏“仍然保存”按钮。

在此处输入图像描述

第二个按钮是一个普通的提交按钮,只有class="cancel". 这指示jQuery.validate.js脚本在使用此按钮提交时跳过验证。

这是视图的代码片段:

这些都工作正常。

问题

第二个提交按钮 -如果我切换到 Ajax 表单,“仍然保存”将按预期停止工作。它的行为就像正常的一样,并且在验证成功之前阻止提交。

这是“ajaxified”视图的代码片段:

我已经调试jQuery.validation.js以找出有什么区别,但失败了。

问题

欢迎任何解决或解决问题并让 ajax 表单按预期运行的想法。


附录

进行客户端验证是绝对必须的。服务器端验证不是一种选择。除了更高的流量(这个示例是一个简化 - 真实的表单包含更多的字段)和延迟之外,还有一件事是服务器端验证不会做的:客户端验证器会突出显示失去焦点的错误字段。这意味着一旦您切换到下一个字段,您就会收到反馈。

0 投票
1 回答
2584 浏览

asp.net-mvc-3 - MVC 3 Ajax.BeginForm 提交问题

我试图通过按下最终会刷新表格的按钮来提交表单

这是表格:

这是控制器:

公共视图结果刷新(){

出于某种原因,当我提交按钮时没有任何反应

我已经添加了

谢谢三木

0 投票
2 回答
928 浏览

jquery - 从视图有条件地调用远程方法以在 MVC4 中进行验证

我正在更新一个 MVC2 应用程序,以便它在新的 MVC4 范例中工作。我试图弄清楚如何调用一种方法来使用不显眼的 ajax 验证输入字段?我需要确定某个值在数据库中是否唯一(由服务包装)。我已经制定了服务方法,我只需要能够调用它......通常这就是我会做的。

但是我现在该怎么做呢?我知道我的其他功能不适用于不显眼的 ajax 和验证?无论如何,我可以调用这些我知道过去使用这种方法的函数吗? 更新

我刚刚意识到您可以使用 [Remote(MethodName, Controller, ErrorMessage)] 来填充字段。但我只记得我有条件地调用了这个远程方法。我使用相同的视图来编辑或将新行添加到数据库中......如果我只是编辑行,我不会检查该字段是否是唯一的。如果我要添加,我会检查该字段是否是唯一的。我通过让控制器在视图上设置 tempData 变量来确定我是否正在添加或编辑...您可以在上面的示例中看到它...只有在设置了该变量时才需要该字段。然后我远程检查输入的值是否唯一......如何使用不显眼的ajax获得类似的功能?

ENDUPDATE 谢谢。

0 投票
1 回答
260 浏览

asp.net-mvc-3 - 如何在 mvc 3 中使用不显眼的 ajax 时立即生效

我试图在我的简单博客站点中引入一些不显眼的 ajax,有一个 viewpost 页面,我希望评论启用 ajax。我可以使用 ajax 发布评论,但该评论不会立即显示,需要刷新页面才能看到评论。另外,我有两个动作作为下一个和上一个,它们将浏览帖子,但是在按下下一个或上一个按钮时不会显示相关评论。

这是视图:

以下是与视图关联的操作方法:

代码有什么问题?谢谢。

0 投票
1 回答
276 浏览

asp.net-mvc-3 - 在 mvc 3 中使用不显眼的 ajax 时出错

我正在尝试从我的视图中发出 ajax 请求,该请求将同时发布和获取一些数据。我想使用检索到的数据来更新该视图页面上的 div 内容。这是代码:

我的观点:

我的控制器:

我正在返回一个名为注释的部分视图,其中包含所需的数据,一切正常,但存在有线问题。虽然我在部分视图中没有使用任何母版页,但它仍然显示内容表单母版页。因此,原始视图页面显示母版页中的内容,如页眉和页脚两次。请帮忙。