问题标签 [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 投票
0 回答
2159 浏览

c# - MVC C# PagedList - PagedListPager 传递参数

我有一个使用不显眼的 ajax 的分页列表,看起来像这样。

我的控制器如下所示:

我试图将模型传递给我的控制器,所以imageLibrary = image.ImageLibrary我应该只需要传递模型而不是image = imageModel传递模型,但是当我传递模型本身时,控制器会得到一个空值(是的,模型名称拼写正确)。当我尝试获取模型的属性并将其传递给控制器​​(即imageLibrary = image.ImageLibrary)时,控制器会同时接收模型和imageLibrary字符串值!这对最终结果很好,我只是不明白它为什么会起作用,而且我不应该将字符串值传递imageLibrary给我的控制器 - 特别是如果我没有真正使用它。

对此的任何见解将不胜感激。

0 投票
1 回答
890 浏览

jquery - Jquery-Unobtrusive-Ajax 未找到数据-ajax-update

我的 MVC Core 项目中有以下链接:

它正在按预期发送和检索数据,但没有更新目标元素。更具体地说,在尝试调试时,会评估并跳过以下内容(来自 jquery.unobtrusive-ajax.js):

但是以下代码将起作用(替换 .each() 循环):

我想知道这是否存在已知问题、正确修复或我做错了什么。我看到过去在使用 .live() 方面存在一些问题,但这里并非如此。

0 投票
1 回答
934 浏览

jquery - unobtrusive-ajax 和 jQuery 之间的冲突

我有一个 MVC4 项目,我在其中使用 NuGet 安装 jQuery 3.1.0 和 Microsoft.jQuery.Unobtrusive.Ajax 3.2.3。我的包是这样的:

我有一个包含这样的 Ajax.BeginForm 块的视图:

这个块指向一个控制器动作,如下所示:

我的想法是我将使用 AJAX 回发一个 ID 值并对其进行测试。如果 ID 有效,我将重定向到“部分”视图。如果 ID 无效,则返回错误消息。

发生的情况是有效的 ID 重定向到 Sections 视图,但页面没有出现。唯一显示的是年份。它只是在页面的左上角显示“2016”。该页面还试图从不同的域中检索图像。

如果我只注释捆绑包中的 unobtrusive-ajax,则视图重定向工作正常(但如果 ID 无效,我将无法返回错误消息)。如果我只注释捆绑包中的 jQuery,则视图重定向工作正常(但其他客户端代码已损坏)。

为什么这两个脚本库似乎不能很好地协同工作,或者我可以做些什么来获取更多关于这里发生的事情的信息?谢谢。

0 投票
1 回答
245 浏览

c# - 为什么要使用 ms 不显眼的 Ajax 添加 jquery 脚本?

我已经关注了几个关于 microsoft unobtrusive Ajax Nuget 包的教程。

他们说我应该在我的主布局中添加这个脚本包含:

我收到了这个 js错误

ReferenceError:找不到变量:jQuery - jquery.unobtrusive-ajax.js:189

如果我手动包含 jquery 的脚本 src 标记,它工作正常。我想知道为什么教程没有说包含 jquery js 文件。

0 投票
0 回答
2468 浏览

jquery - 将 ASP.Net Core MVC 中的 BadRequest 返回到 Microsoft jQuery Unobtrusive Ajax 帖子的 ModelState 未定义

问题

我正在尝试使用 BadRequest(ModelState) 从 ModelState 返回服务端验证错误,但是当我尝试从 xhr.responseText 分配 jQuery ModelState 时,我在 javascript 中收到未定义的错误。我正在使用带有 Microsoft.jQuery.Unobtrusive.Ajax 3.2.3 的 ASP.Net Core 1.0.1。

编码

控制器动作

查看 (JavaScript)

查看(表格)

结果

Javascript 调试会话

控制台日志

问题

  1. 为什么我的 ajax 响应中未定义 ModelState?

  2. 在服务器端验证后使用 javascript 显示验证错误有什么意义?我问这个是因为我假设我的服务器端验证只有在用户禁用 javascript 时才会启动,因此客户端验证被绕过。因此,javascript 如何执行以显示服务器 ModelState 返回的验证错误,因为它仍然被禁用?

0 投票
0 回答
2835 浏览

jquery - 使用不显眼的 ajax 发布 ASP.NET Core MVC 表单时出现 415 Unsupported Media Type 错误

我正在创建一个 ASP.NET MVC Core Web 应用程序。我的视图中有一个表单,它发布到 ProductsController 中的 Create 操作。我正在使用 jquery unobtrusive ajax,所以我的表单如下所示:

这是我的创建操作的样子:

这完全正常。

但是,以下内容不会:

我在 js 控制台中收到错误:415(不支持的媒体类型)。我假设这是因为当表单发布时,它没有被设置为 w/Content-Type application/json。

似乎微软在使用他们的 MVCController 模板时使用了 Bind 语法,而他们在使用他们的 APIController 模板时使用了 FromBody 语法。

我现在很少使用 MVC,因为我的大部分页面都涉及 ajax。我相信我更好地将我的操作方法更像 API 调用而不是 MVC 操作,这就是我尝试使用 FromBody 的原因。

此外,当我使用内容类型 application/json 以 Json 形式在 Postman 中发布 FromBody Create 操作时,它可以完美运行。

0 投票
1 回答
980 浏览

javascript - 传递 javascript 对象 ajax beginform mvc

大家好,我不知道这是否可能,这就是为什么我需要建议来实现这一点的原因。问题是我想将 javacript 对象与 ajax-beginform 而不是模型对象发布到控制器。我像下面这样编码,但找不到发布数据的方法,我知道 jQuery ajax 是一种选择,但在这种情况下我不想使用 jQuery ajax 来发布数据。

HTML

控制器

我想将数据发布到控制器并在objsearchValues中捕获它们。

0 投票
2 回答
14596 浏览

asp.net - ASP.NET Core 和 JQuery 不显眼的 AJAX 不起作用

如果我在 .net 4.5 中开始一个新项目并点击管理 nuget 包,搜索 ajax,然后点击 install 让 ajax 不显眼。然后我可以进入我的cshtml文件并输入@Ajax.___ 例如@Ajax.beginForm

如果我用 Dot Net Core 创建一个新项目......我不能,而是它给了我一个无用的错误:

“当前上下文中不存在名称‘Ajax’”

我在网上搜索过,什么都没找到...

基本上我想用 Ajax 调用制作一个表单,就像你在 .net 中所做的那样

如:

" @using (Ajax.BeginForm("EmployeeMaster", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp" })) {"

有谁知道我还能尝试什么?

在上面,我可以看到 Ajax 是来自 System.web.mvc.webviewpage 的 AjaxHelper 类型的对象......所以也许它永远不会适用于 .net 核心

0 投票
1 回答
922 浏览

asp.net-mvc-5 - Ajax.BeginForm 根据提交值更改 AjaxOptions

如何根据按下按钮的提交值更改 AjaxOptions 的值。

在视图中:

在控制器中:

当我通过按下任何按钮发布时,我需要在返回新的 PartialView 之前更改 AjaxOptions 值。

0 投票
1 回答
979 浏览

asp.net-core - Asp.net core cloudflare ssl Blocked Mixed content using unobtrusive-ajax

我最近建立了一个使用 cloudflare 免费 ssl 的网站。当使用 ajax 调用进行分页时,我得到一个混合内容错误,我认为是因为它仍然在某个时候通过 http 传输!?我尝试在此处使用 https 重定向的说明:https: //docs.microsoft.com/en-us/aspnet/core/security/enforcing-ssl 但这只是在一个循环中结束,给出了太多重定向错误。

这是与混合内容有关的特定错误:

混合内容:“ https://www.andysmobilearchery.co.uk/events/ ”页面通过 HTTPS 加载,但请求了不安全的 XMLHttpRequest 端点 http://www.andysmobilearchery.co.uk/events/index/ ?page=2&x-requested-with=xmlhttprequest& =1502287619453 '。此请求已被阻止;内容必须通过 HTTPS 提供。

是否有解决此问题的方法,或者我将不得不删除 ajax 函数?

任何帮助表示赞赏!

我现在注意到我已经实现的其他网站工作得很好(其他 3 个!),我正在使用 asp.net 样板,它在 url 中添加一个斜杠,如果我禁用它,事件页面可以工作,但我的评论页面停止...我很困惑哈哈