Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MVC4 Jquery/UI/Ajax发布版本会破坏我的表单提交吗?_Jquery_Json_Iis_Asp.net Mvc 4_Release Mode - Fatal编程技术网

MVC4 Jquery/UI/Ajax发布版本会破坏我的表单提交吗?

MVC4 Jquery/UI/Ajax发布版本会破坏我的表单提交吗?,jquery,json,iis,asp.net-mvc-4,release-mode,Jquery,Json,Iis,Asp.net Mvc 4,Release Mode,非常奇怪的问题 我有一个MVC4 web应用程序,它使用弹出式编辑(通过JQueryUI和部分视图),当应用程序在调试模式下构建时,或者如果它在发布模式下构建并在IIS Express上运行时,它可以正常工作 HttpPost操作返回包含错误的HTML partialview(重新填充UI对话框)或JSON响应 返回Json(新的{success=true}) 如果我将调试构建部署到IIS,它也可以正常工作 但是,如果我将发布版本部署到IIS,它将停止工作,客户端浏览器(所有浏览器)开始将我的j

非常奇怪的问题

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

HttpPost操作返回包含错误的HTML partialview(重新填充UI对话框)或JSON响应
返回Json(新的{success=true})

如果我将调试构建部署到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请求

TBH我不知道为什么仅仅根据构建配置请求头会有所不同。。。。?!
帮助?

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

我使用的是jQuery1.9.1。 显然,JQuery的最新版本

在调试模式下,甚至在IIS Express的发布模式下,捆绑都没有做任何事情。然而,当我将发布模式发布到IIS时,它突然出现在我的生活中……并立即破坏了我的javascript

..这阻止了我的JQuery.on处理程序重写表单提交按钮

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

…这导致浏览器将JSON响应“下载为文件”

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

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