MVC4 Jquery / UI / Ajax发布构建打破了我的表单提交



非常奇怪的问题。

我有一个使用弹出式编辑的MVC4 web应用程序(通过JQueryUI和部分视图),当应用程序在调试模式下构建时,或者在发布模式下构建并在IIS Express上运行时,它工作得很好。

HttpPost动作返回一个包含错误的HTML局部视图(它重新填充UI对话框)或一个JSON响应return Json(new { success = true });

如果我将DEBUG版本部署到IIS,它也可以正常工作。

然而,如果我部署一个发布构建到IIS它停止工作和客户端浏览器(所有他们)开始处理我的json响应作为文件下载......?!

我已经修改了请求,它们是不同的.....那些工作发送头:

Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest

…而那些失败的.....

Accept: text/html, application/xhtml+xml, */*
Content-Type: application/x-www-form-urlencoded

…没有X-Requested-With标头。

TBH我不知道为什么REQUEST头会不同,只是基于构建配置....?帮助吗?

我找到了答案......谈谈完美风暴....

我使用JQuery 1.9.1。显然,最新版本的JQuery会导致"绑定"中断.....

在调试模式下,甚至在IIS Express发布模式下,捆绑都没有做任何事情。然而,当我将发布模式发布到IIS时,它突然活跃起来.....然后马上破坏了我的javascript

…这阻碍了我的JQuery。处理程序重写表单提交按钮.....

…这导致表单通过HTML提交,而不是AJAX......

…这会导致JSON响应被浏览器"作为文件下载"......

…这让我觉得一开始问这个问题有点愚蠢,因为所有的线索都在那里.....

当然,解决方案是修复jquery*.min.js文件,这样它们就不会破坏绑定(如所附问题/答案所述)。哼。

相关内容

  • 没有找到相关文章

最新更新