tre*_*orc 3 c# ajax jquery asp.net-mvc-4
这是一个奇怪的问题,但后来我有一个非常奇怪的情况.在我的开发服务器(IIS和IIS Express)上,我发出一个ajax请求并返回一个表单.然后用户通过ajax帖子发回表单,如果有任何验证错误,控制器会发回部分视图,响应代码为400.在我的ajax方法中,我拦截任何400个错误并重新显示带有验证错误的表单.
我的问题是,当我将我的应用程序上传到我的生产服务器时,所有我得到的验证错误是没有局部视图的400响应.我甚至不知道从哪里开始?这是我尝试过的,我正在使用的库,以及一些示例代码.
ASP.net MVC4,流畅验证,jQuery,不显眼的验证,malsup-ajaxsubmit
在我的生产服务器上......
这是一些代码.
我的表格获取请求:
public ActionResult CreateMedicalEvent(int userId)
{
var model = new EventModel { MedicalEventUserId = userId };
return PartialView("_Event.Create", model);
}
Run Code Online (Sandbox Code Playgroud)
我的表格发布:
[HttpPost]
public ActionResult CreateMedicalEvent(EventModel model)
{
if (!ModelState.IsValid)
{
Response.StatusCode = 400;
return PartialView("_Event.Create", model);//this does not get returned on production server
}
//the rest of my code if validation passess
}
Run Code Online (Sandbox Code Playgroud)
我的ajax方法:
$('.se-form').ajaxForm({
delegation: true,
beforeSubmit: function() {
ajaxHelpers.modalProcess();//modal progress bar
},
success: function(data) {
$.modal.close();
//handle a successful post
},
error: function(xhr) {
$.modal.close();
if (xhr.status == 400) {
slideEdit.seObj.empty();//this is my form object
slideEdit.seObj.append(xhr.responseText);//all I get is "Bad Request" from production server
$.validator.unobtrusive.parse($('form', slideEdit.seObj));
ajaxHelpers.bindDates(); //because we need to bind event AND format date, we have to do this here
utilities.formatDecimal();
} else {
ajaxHelpers.exc(xhr);
}
}
});
Run Code Online (Sandbox Code Playgroud)
我希望有更多的代码可以发布,但这并不是那么复杂.我在生产服务器上遗漏了一些奇怪的dll文件吗?两台服务器都安装了MVC4.丢失.请求帮助.谢谢.
添加到@STW的答案,尝试添加到您的web.config
<system.webServer>
<httpErrors errorMode=”Detailed” />
</system.webserver>
Run Code Online (Sandbox Code Playgroud)
看到IIS错误响应.
另请参阅这些链接
了解400错误请求异常 和ASPNET MVC IIS7和错误请求
| 归档时间: |
|
| 查看次数: |
1365 次 |
| 最近记录: |