首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对MVC ActionResult的JQuery $post调用似乎递归地调用自身-空参数错误

对于MVC ActionResult的JQuery $post调用似乎递归地调用自身-空参数错误,这是一个常见的错误,通常是由于代码逻辑问题引起的。下面是一个完善且全面的答案:

MVC(Model-View-Controller)是一种软件设计模式,用于将应用程序的逻辑分离为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。ActionResult是MVC框架中的一个类,用于表示控制器方法的返回结果。

在JQuery中,可以使用$post方法来向服务器发送异步HTTP POST请求。当在MVC中使用JQuery $post调用时,如果出现递归地调用自身的错误,通常是因为代码中存在逻辑问题,导致请求被无限循环地发送。

可能的原因和解决方法如下:

  1. 错误的逻辑设计:检查代码中是否存在逻辑错误,例如在控制器方法中调用了自身,或者在返回结果中包含了导致循环调用的代码。确保控制器方法的逻辑正确,并且没有无限循环的调用。
  2. 参数错误:检查$post方法的参数是否正确。确保传递给$post方法的URL、数据和回调函数等参数都正确设置。
  3. 异步请求问题:确保$post方法是以异步方式发送请求。如果请求是同步的,可能会导致页面被阻塞或出现其他错误。
  4. 调试和日志记录:使用浏览器的开发者工具或其他调试工具来跟踪代码执行过程,并查看是否有其他错误或异常。在代码中添加适当的日志记录,以便更好地理解代码的执行流程。

对于这个特定的错误,由于没有提供具体的代码示例,无法给出更具体的解决方法。但是,通过检查代码逻辑、参数设置和请求方式,可以解决大多数类似的问题。

腾讯云提供了丰富的云计算产品和服务,包括云服务器、云数据库、云存储等。您可以根据具体需求选择适合的产品。更多关于腾讯云产品的信息和介绍,请访问腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

七天学会ASP.NET MVC (四)——用户授权认证问题

小编应各位的要求,快马加鞭,马不停蹄的终于:七天学会 Asp.Net MVC 第四篇出炉,在第四天的学习中,我们主要了学习如何在MVC中如何实现认证授权等问题,本节主要讲了验证错误时的错误值,客户端验证...如之前实验9讨论的,当点击提交按钮时,是给服务器发送请求,验证失败时对服务器请求没有意义。通过添加”return false“代码,可以取消默认的服务器请求。...当点击登录时,Dologin action 方法会被调用。 Dologin 方法的功能: 通过调用业务层功能检测用户是否合法。 如果是合法用户,创建认证Cookie。可用于以后的认证请求过程中。...FormsAuthentication.SetAuthCookie中第二个参数”false“表示什么? false决定了是否创建永久有用的Cookie。...当凭证错误时,UserName 文本框的值是如何被重置的? HTML 帮助类会从Post 数据中获取相关值并重置文本框的值。这是使用HTML 帮助类的一大优势。 Authorize属性有什么用?

8.7K50

ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

ActionLink方法的第一个参数是想要呈现的链接文本 (例如,Edit Me)。第二个参数是要调用的操作方法的名称(在本例中, Edit方法)。...此属性指定了Edit方法的重载,此方法仅被POST 请求所调用。您可以将HttpGet属性应用于第一个编辑方法,但这是不必要的,因为它是默认的属性。...下面的代码演示如何检查movieGenre参数。如果它不是空的,代码进一步指定了所查询的电影流派。 if (!...因为我们没有一个电影流派“All”,也没有“All”的SelectList,所以当我们post back后不做任何选择,movieGenre查询字符串值是空的。...ASP.NET MVC 5 - 使用Wijmo MVC 5模板1分钟创建应用 希望这些文章对感兴趣的朋友有所帮助,另附上PDF版的汇总文档: 《ASP.NET MVC 5 入门指南》PDF版

6.7K110
  • Model验证系统运行机制是如何实现的?

    MVC项目模板创建的空Web应用中,我们定义了如下一个默认的HomeController。...(《ASP.NET MVC以ModelValidator为核心的Model验证体系: ModelValidatorProviders》),也就是针对Contact对象的验证并不会递归地对Address对象的属性实施验证...MVC项目模板创建的空Web应用中,我们定义了如下一个默认的HomeController。...,所以Model绑定和Model验证绝对不可能是先后的过程,唯一的可能是DefaultModelBinder在递归地进行Model绑定的过程中去调用ModelValidator对提供的数据实施验证。...由于Contact的Address属性是一个复杂类型,所以在针对Contact类型的Model绑定过程中会递归地绑定一个Address对象并对Contact对象的Address属性进行初始化。

    1.8K110

    ASP.NET MVC 异步实现

    在 MVC 中实现异步操作有两种方法,一种是使用jQuery的异步函数,另一种就是使用MVC的 AjaxHelper 注意:在行为详解中提到过,如果行为的返回对象为JsonResult 时,要使用get...获取必须添加第二个参数-JsonRequestBehavior.AllowGet. jQuery方法实现 注意:jQuery实现需要调用jquery文件 先编写控制器方法: public ActionResult...发送post请求给AjaxTest/ CalcAdd这个action,自动识别传送的name:a,b,并通过路由实现自动接收装配,经由控制器中的action的操作后,将结果异步返回给网页。...AjaxHelper 注意:AjaxHelper实现需要调用jquery.unobtrusive-ajax 文件,可以使用 NuGet 添加。...同样的,先写控制器: public ActionResult CalcAdd1(int a, int b) { int sum = a + b; var temp = new

    1.2K30

    MVC项目开发中那些用到的知识点(Jquery ajax提交Json后台处理)

    前言   jQuery提供的ajax方法能很方便的实现客户端与服务器的异步交互,在asp.net mvc 框架使用jQuery能很方便地异步获取提交数据,给用户提供更好的体验!   ...调用jQuery的ajax方法时,jQuery会根据post或者get协议对参数data进行序列化;   如果提交的数据使用复杂的json数据,例如:     {userId:32323,userName...:{firstName:"李",lastName:"李大嘴"}}   那么服务器是无法正常接收到完整的参数,因为jQuery对data的序列化,是使用了键值对拼装的方式; 参数拼装成 userId=32323&...正文五步曲   首先,第一步解决jQuery对于参数序列化的问题: 引用前台处理Js文件,主要是将Json字符串进行处理将其封装到JsonNet.js文件中 String.format = function...主要是通过实现了IModelBinder进行参数化绑定即可。 最后一步进行F5运行测试。 ? 通过代码可以看出我是将Json字符串传递到服务端,服务端对其进行解析然后又转换为Json返回到客户端的。

    1.7K31

    MVC项目开发中那些用到的知识点(Jquery ajax提交Json后台处理)

    前言   jQuery提供的ajax方法能很方便的实现客户端与服务器的异步交互,在asp.net mvc 框架使用jQuery能很方便地异步获取提交数据,给用户提供更好的体验!   ...调用jQuery的ajax方法时,jQuery会根据post或者get协议对参数data进行序列化;   如果提交的数据使用复杂的json数据,例如:     {userId:32323,userName...:{firstName:"李",lastName:"李大嘴"}}   那么服务器是无法正常接收到完整的参数,因为jQuery对data的序列化,是使用了键值对拼装的方式; 参数拼装成 userId=32323&...正文五步曲   首先,第一步解决jQuery对于参数序列化的问题: 引用前台处理Js文件,主要是将Json字符串进行处理将其封装到JsonNet.js文件中 String.format = function...主要是通过实现了IModelBinder进行参数化绑定即可。 最后一步进行F5运行测试。 ? 通过代码可以看出我是将Json字符串传递到服务端,服务端对其进行解析然后又转换为Json返回到客户端的。

    1.9K20

    Asp.Net MVC4入门指南(6):验证编辑方法和编辑视图

    ActionLink方法的第一个参数是想要呈现的链接文本 (例如,Edit Me)。第二个参数是要调用的操作方法的名称。...此属性指定了Edit方法的重载,此方法仅被POST 请求所调用。您可以将HttpGet属性应用于第一个编辑方法,但这是不必要的,因为它是默认的属性。...如果不带参数调用Edit 方法,ID 参数被指定为默认值 零。如果找不到一部电影,则返回HttpNotFound 。...如果您更改了的SearchIndex方法来测试如何传递路由绑定的 ID 参数,更改它,以便您的SearchIndex方法采用字符串searchString参数: public ActionResult...如果它不是空的,代码进一步指定了所查询的电影流派。

    4.3K100

    ASP.NET MVC 5 - 给数据模型添加校验器

    如同jQuery的客户端验证来检测到错误时,它会显示一个错误消息。 ?...在我们的电影示例中,我们使用了验证,当客户端检测到错误时,form不会被post到服务器;所以第二个Create方法永远不会被调用。...如果您在浏览器中禁用了 JavaScript,客户端验证也会被禁用,HTTP POST Create方法会调用 ModelState.IsValid来检查影片是否含有任何验证错误。...您可以在HttpPost Create方法中设置一个断点,当客户端验证检测到错误时,不会post form数据,所以永远不会调用该方法。...此Helper旁边是对Html.ValidationMessageFor方法的调用。这两个Helper方法将处理由控制器传递到视图的模型对象(在这里是,Movie对象)。

    9.1K70

    ASP.NET MVC 5 - 查询Details和Delete方法

    )从而使得链接URL 出现错误。...但是,在这里您需要两种删除方法 — — 一个 GET方法和一个POST方法它们都具有相同的签名。(他们都需要接受一个整数作为参数)。 要解决这一点,可以有几种办法。一是使用不同的方法名称。...另一个常见的方法,来避免具有相同名称和签名的方法,是人为地改变POST 方法,包括未使用参数的签名。...例如,有些开发人员添加参数类型 FormCollection,FormCollection是会传递给 POST 方法的,然后根本不使用此参数: public ActionResult Delete(FormCollection...ASP.NET MVC 5 - 使用Wijmo MVC 5模板1分钟创建应用 希望这些文章对感兴趣的朋友有所帮助,另附上PDF版的汇总文档: 《ASP.NET MVC 5 入门指南》PDF版

    3.1K60

    Asp.Net MVC4入门指南(8):给数据模型添加校验器

    调用此方法将验证对象上所有应用了验证约束的属性。如果对象含有验证错误,则Create方法会重新显示初始的form。如果没有任何错误,方法将保存信息到数据库。...在我们的电影示例中,我们使用了验证,当客户端检测到错误时,form不会被post到服务器;所以第二个Create方法永远不会被调用。...如果您在浏览器中禁用了 JavaScript,客户端验证也会被禁用,HTTP POST Create方法会调用 ModelState.IsValid来检查影片是否含有任何验证错误。...您可以在HttpPost Create方法中设置一个断点,当客户端验证检测到错误时,不会post form数据,所以永远不会调用该方法。...请注意,代码如何使用Html.EditorFor helper 输出为Movie中的每个属性的元素。此Helper旁边是对Html.ValidationMessageFor方法的调用。

    4.7K100

    ASP.Net MVC开发基础学习笔记:四、校验、AJAX与过滤器

    二、ASP.Net MVC下的两种AJAX方式 2.1 使用JQuery AJAX方式   首先,在ASP.Net MVC中使用此种方式跟普通的WebForm的开发方式是一致的,需要注意的是:Url地址不同...需要注意的是:   (1)如果你在JQuery AJAX中使用的是get方式的提交,那么在在使用Json返回JsonResult时注意要将第二个参数设置允许Get提交方式:return Json("",...:   ①Ajax.BeginForm没有提供闭合的方法,需要使用Using配合关闭;   ②AjaxOptions参数的设置:   HttpMethod代表此次AJAX请求到底是POST方式还是GET...   为了显示加载提示的效果,我们人为地修改一下Action方法,使用Thread.Sleep(3000)来延迟一下请求返回时间 public ActionResult GetServerDate...方法,这里仅仅为了演示效果,没有对异常进行处理。

    2.1K20

    七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理

    名称和 Id的作用是否相同? 不相同,名称属性是HTML内部使用的,当请求被发送时,然而 ID属性是在JavaScript中开发人员为了实现一些动态功能而调用的。...保存接收的值(Post 数据或查询字符串的值)              在Asp.net MVC,将使用 DataAnnotations来执行服务器端的验证。...当匹配成功时: 如果接收的值是空,则会将空值分配给属性,如果无法执行空值分配,会设置缺省值,ModelState.IsValid将设置为fasle。...ValidationMessage根据关键字显示ModelState表示的错误信息。 如果我们需要可空的整数域,该怎么做? 1: public int?...MVC学习中比较重要的部分,在完成本节学习的同时,你是否对MVC的理解又进了一步?

    5.3K100

    ASP.NET MVC5中View-Controller间数据的传递

    获取路由参数的另外一种方式是给Action设置一个和路由模板中指定的参数名一致(不区分大小写)的参数即可,代码如下: public void GetValue(int id) { } 注意,这里不仅获取了路由数据...url传递参数属于Http协议中的Get请求,若要发送大量数据可以使用Post请求。 ModelBinding 1....对于这样的一个Action,如果是Post请求,MVC会尝试将Form(注意,这里的Form不是指html中的表单,而是Post方法发送数据的方式,若我们使用开发者工具查看Post方式发送的请求信息...,会看到Form Data一栏)中的值赋值到Action参数中,如果是get请求,MVC会尝试将QueryString的值赋值到Action参数中。...所以,直接使用匿名类型向View中传递数据,在前台页面是无法访问到匿名类型中的属性的。执行上面代码程序会出现错误: ?

    2.7K10

    七天学会ASP.NET MVC(七)——创建单页应用

    :在Business Layer中引用EF 是非常必要的,因为Business Layer与DataAccessLayer 直接关联的,而完善的体系架构它自身的业务层是不应该与DataAccessLayer...修改错误 报错是由于在项目中既没有引用 SalesERPDAL,也没有引用EF,在项目中直接引用也并不是优质的解决方案。 1....2.保存功能 我们会创建新的MVC action 方法实现保存Employee,并使用jQuery Ajax调用 3....运行 关于实验35 JSON 方法的作用是什么? 返回JSONResult,JSONResult 是ActionResult 的子类。在第六篇博客中讲过MVC的请求周期。...运行 总结 以上本系列的七篇文章就是介绍MVC知识的全部内容了,看到这里你是否已经对MVC的知识有了较为全面的掌握?

    4.3K60

    ASP.NET MVC中的ActionFilter是如何执行的?

    在ASP.NET MVC中的四大筛选器(Filter),ActionFilter直接应用在某个Action方法上,它在目标Action方法执行前后对调用进行拦截以执行一些额外的操作。...三、ActionFilter对ActionResult的设置 上面我们已经提到过,在ActionFilter链进行OnActionExecuting方法调用的过程中,一旦某个ActionFilter为ActionExecutingContext...在通过Visual Studio的ASP.NET MVC项目模板创建的空Web应用中我们定义了如下三个ActionFilter(FooAttribute、BarAttribute和BazAttribute...我们对三个ActionFilter特性的Order属性作了相应地设置使它们可以按照我们希望的顺序(FooAttribute =>BarAttribute =>BazAttribute)执行。...对象并调用自身的OnActionExecuted方法。

    1.6K70
    领券