Asp.net MVC – Jquery $.ajax错误回调没有返回responseJSON
我有下面的代码,在开发机器上工作正常,但从远程浏览器调用时却没有…
$.ajax({ type: 'POST',url: '@Url.Action("Action","Controller")',data: { id: id },dataType: 'json',async: true,success: function (data) { },error: function (jqXHR,status,err) { var result = jqXHR.responseJSON; } }); jqXHR.responseJSON对象在从localhost调用时起作用,但在从远程计算机调用时不起作用,它作为未定义返回… 解决方法
我遇到过同样的问题.
使用localhost在本地计算机上进行测试时,ResponseJSON将被填充. 当我将项目上传到测试服务器并进行测试时,我的responseJSON未定义,而responseTEXT只是给出了我发送的状态描述: (这是一个JSONResult,但我已经将它作为ActionResult完成了) Response.StatusCode = 400; Response.StatusDescription = "Bad Request - Model State is Invalid"; return Json(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(ModelState.Values.SelectMany(v => v.Errors)),JsonRequestBehavior.AllowGet); 而对于ActionResult,我也特别尝试过: return new HttpStatusCodeResult(400,new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(ModelState.Values.SelectMany(v => v.Errors))); 这给了我一堆错误. 我尝试使用JsonResult下面的代码,它在本地工作(但我在JSON中有一个语法错误),但在测试服务器上没有工作. return Json(new { success = false,responseJSON = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(ModelState.Values.SelectMany(v => v.Errors)) },JsonRequestBehavior.AllowGet); 当我使用AJAX请求将表单模型提交给MVC控制器时,这是最近的测试(上面).我读到这是因为它是跨域的,但这没有任何意义. 我创建了一个Web API控制器并将方法信息放在那里.这是因为我想使用HttpReponseMessage,我认为这是一个WebAPI类型. 当我在WebAPI中使用HttpResponseMessage作为返回类型并返回如下: return Request.CreateResponse(HttpStatusCode.BadRequest,new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(ModelState.Values.SelectMany(v => v.Errors))); responseJSON和responseText都正确填充. 我不知道为什么它不起作用,如果有人对此有回应请告诉我们. 对我来说,这是一个解决方法,因为我觉得它应该是第一种方式. 更新: Response.TrySkipIisCustomErrors = true; 使responseJSON出现. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如果Elmah无法访问数据库以记录异常,该怎么办?
- asp.net – 用户控制验证组问题
- asp.net-mvc-4 – MVC4/DotNetOpenAuth中的自定义OAuth客户
- asp.net-mvc – 加载登录表单时网站速度慢
- asp.net – SignalR和HttpContext / Session
- .NET Core的文件系统[1]:读取并监控文件的变化
- asp.net-mvc-2 – ASP.NET MVC 2 – 如何使用DropDownListF
- 可能的Bug与ASP.NET MVC 3路由?
- 利用EntLib授权机制实现对ASP.NET页面的自动授权
- asp.net-mvc – 使用REST API进行身份验证
- asp.net-mvc – 如果ASP.NET MVC中的用户匿名,则
- asp.net-mvc – 在MVC4.0中使用分页实现Category
- kendo-ui – Kendo Grid的水平滚动
- ASP.NET表单认证在iPad上显示登录页面
- asp.net – 从Controller构造器访问Request.Cook
- .net – 如何在请求标头上调用需要承载令牌的NSw
- asp.net – 所有PartialView的自定义ActionResul
- ASP.NET Identity和Thinktecture.IdentityModel库
- 根据存储的时区修改ASP.NET MVC C#中的日期
- 实体框架Core 1.0工作单元与Asp.Net Core中间件或