使用 jQuery AJAX 发布到 ASP.NET MVC 1.0

2024-02-25

我正在做这样的 jQuery AJAX 帖子:

  var form = $("#formid");
  form.submit(function()
  {      
    $.ajax(
    {
      type: "POST",
      url: form.attr("action"), // points to NewClient
      data: form.serialize(),
      success: function(msg) { alert('ok ' + msg); },
      error: function(req, status, err) { alert('err=' + err + ' status=' + status); }
    });
    return false;
  });

在 ASP.MVC 方面,我有这样的东西:

[AcceptVerbs(HttpVerbs.Post)]
public virtual ActionResult NewClient()
{
  // just a test...
  return null;
}

jQuery 的 NewClient 函数正确工作的正确结果类型是什么?现在它在 FF 和 Chrome 中工作,但在 IE8 中失败(在 IE7 中工作)——即在 IE8 中我收到错误警报(edit:错误是由于“调试器”引起的;在 JS 调用中调用)。无论如何,推荐的方法是什么:

  • 通过 jQuery 将表单传递给 ASP.NET MVC($().serialize() 似乎工作正常,这是推荐的方式吗?)
  • 从服务器端返回成功或失败,如果失败,我可以向客户端显示某种消息。我如何告诉 jQuery 方法/调用是否失败?

Thanks.

EDIT:

html 看起来像这样:

<form id="formid" action="/client/newclient">
   ... input fields ...
</form>

form.serialize() 是在 jQuery 中发布表单的正确方法。

在错误处理方面,您已经掌握了要点。仅当服务器返回失败 HTTP 代码时,jQuery 才会认为请求失败。如果您想确定“逻辑故障”,即您的应用程序以某种方式失败,并且希望返回一个 html/json 响应来指示出了什么问题(这将具有有效的 HTTP 代码),那么您需要向您的应用程序添加一个错误标志响应,并在“成功”处理程序中检查它。

我一直喜欢本·纳德尔的 http://www.bennadel.com/blog/1392-Handling-AJAX-Errors-With-jQuery.htm接近它。

我也曾之前回答过类似问题 https://stackoverflow.com/questions/1264419/jquery-ajax-responses-in-asp-net-mvc/1264449#1264449有一个非常详细的代码示例。

不过,在重构所有 jQuery 代码之前,我会使用 Fiddler 之类的工具来了解 IE8 中发生的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jQuery AJAX 发布到 ASP.NET MVC 1.0 的相关文章

  • 如何在 ASP.Net MVC 中执行 301 永久重定向路由

    如何在 ASP NET MVC 中执行 HTTP 301 永久重定向路由 创建一个继承自 ActionResult 的类 public class PermanentRedirectResult ActionResult public st
  • Fullcalendar 不显示 15 分钟时段的轴时间

    我将全日历设置为有 15 分钟时段 但它没有显示分钟突破 例如 它将显示上午 9 点 上午 10 点 上午 11 点等 但不显示上午 9 点 上午 9 15 上午 9 30 等 它显示了其他时段的分钟突破 例如 10 分钟 但我无法让它工作
  • 无法加载文件或程序集“Newtonsoft.Json”或其依赖项之一

    首先 它不仅仅是重复的 以下问题的答案都不适合我 http goo gl tS40cn http goo gl tS40cn http goo gl pH6v2T http goo gl pH6v2T 我刚刚使用 Nuget 包管理器更新了
  • Jquery POST 获取建议列表

    我有下一个代码 它运行良好 问题是当用户写完单词时 脚本不断创建后调用并不断更改建议列表 我想做一些事情 如果用户继续写一个单词 脚本会停止所有的 post 调用 只执行最后一个 inputString keydown function l
  • $(this) 在 jQuery 中如何工作

    jQuery 标签是如何实现的 this 到底工作吗 我知道如何使用它 但是 jQuery 如何知道哪个元素是 活动的 用于获取当前项目的原始 Javascript 标签是什么 还是只是 jQuery The this是一个简单的 java
  • 如何轻松地将 Ajax、perl 和 JSON 结合使用?

    我正在尝试使用 Ajax 制作一个网页 Example 我创建了一个 Perl CGU 文件来触发一个简单的帖子 文件 test cgi name 托马斯 回复短信 你的名字是托马斯 我创建了一个可以使用该帖子的 html 文件 但随后页面
  • 如何防止滚动事件多次触发?

    我尝试防止多次滚动事件 例如250 毫秒内仅发生一个事件 为此我在互联网上找到了下面的去抖动功能 但我无法正确使用它 怎么了 function debounce func wait immediate var timeout return
  • 你可以有多个 $(document).ready(function(){ ... });部分?

    如果我在启动时有很多功能 它们都必须在一个功能下 document ready function 或者我可以有多个这样的语句吗 您可以拥有多个 但这并不总是最好的做法 尽量不要过度使用它们 因为这会严重影响可读性 除此之外 这是完全合法的
  • 如何使用 JQuery DataTables 根据每个单元格中值的子字符串对列进行排序

    假设我有一列包含格式为 P 的对象标识符 例如 P12 3767 我使用的是 1 9 1 版本的 JQuery数据表插件 http datatables net用于排序和分页 有没有办法可以忽略单元格值的前 4 个字符 P12 部分 以便我
  • 如何在按键时更新一组文本字段并避免在提交时重置表单?

    我正在尝试制作一个简单的转换器 例如 但在 JavaScript 中 您输入以吨为单位的数量 它会显示一堆根据输入计算出的不同数字 有点像这样 这是我尝试过的
  • 优化数据可视化 Web 应用程序的性能

    我正在重写 3 年前编写的数据可视化网络工具 从那时起 浏览器的 JavaScript 引擎变得更快 所以我正在考虑将部分工作从服务器转移到客户端 在页面上 数据在表格和地图 或图表 中可视化 它使用相同的数据 但以不同的方式 因此准备显示
  • 如何使用 jquery 从 URL 获取域名?

    我有 eq 的域名 1 http www abc com search 2 http go abc com work 我从上面的 URL 中仅获取域名 输出如 1 http www abc com 2 http go abc com 我能怎
  • jQuery - 提高处理 XML 时的选择器性能

    我正在处理一个 XML 文件 当使用 XPath 样式选择器选择节点时 该文件的性能非常慢 这是运行特别慢的部分代码 for i 0 i
  • jQuery UI 内联日期选择器自动调整大小到父容器

    我正在使用 twitters bootstrap 的响应式网格系统和 jquery ui datepicker 我有一个inline row spanX 结构中的 datepicker 如下所示 div class row div clas
  • 在 jQuery 中获取 CSS 规则的百分比值

    假设规则如下 largeField width 65 有没有办法以某种方式恢复 65 而不是像素值 Thanks EDIT 不幸的是 在我的例子中使用 DOM 方法是不可靠的 因为我有一个导入其他样式表的样式表 因此cssRules参数以以
  • jspm / jQuery / TypeScript - 模块“jquery”没有默认导出

    我正在尝试使用 TypeScript 和 jspm system js 来引导 Web 应用程序进行模块加载 我还没有走多远 安装 jspm 后 并使用它来安装 jQuery jspm install jquery 以及基础知识 main
  • jQuery 价格滑块过滤器

    我已经创建了 jquery 价格滑块 但我不知道如何过滤我的结果 以便在滑动时您只能看到具有该值范围内的产品 HTML div class demo p p div
  • Jquery 自动完成 - 预填充文本字段

    我有一个自动完成字段 改编自地理自动完成以查找地理位置 当用户从列表中选择位置时 我会获取纬度 经度和用于搜索的其他一些信息 然而 现在只有当用户实际从自动完成列表中进行选择时它才有效 而不是开始键入并单击 Enter 例如他们尚未从列表中
  • 使用 AJAX 获取发布数据

    我正在尝试从 Wordpress 帖子 AJAX 中提取内容 我已经在下面列出了迄今为止我的努力 加载的脚本 wp enqueue script my ajax request get stylesheet directory uri js
  • JS 库请求的常见 HTTP 标头是什么?

    使用JavaScript 框架原型 http www prototypejs org 我注意到 Ajax 请求通过一个名为X Requested With 其他 JavaScript 库 如 jQuery dojo 和 YUI 是否会向其

随机推荐