Jquery Firefox使用$.ajax发布空帖子

Jquery Firefox使用$.ajax发布空帖子,jquery,firefox,post,Jquery,Firefox,Post,我有一个jQuery函数,它使用$.ajax发布到服务器,在IE、Chrome和Safari中运行良好,但在Firefox中,服务器没有收到任何POST值。当我查询表单集合(使用经典ASP)时,我得到所有值的undefined $.ajax({ type: 'POST', url: url, dataType: "text", data: { value1: true, value2: false }, success: function(html) {

我有一个jQuery函数,它使用$.ajax发布到服务器,在IE、Chrome和Safari中运行良好,但在Firefox中,服务器没有收到任何POST值。当我查询表单集合(使用经典ASP)时,我得到所有值的
undefined

 $.ajax({
    type: 'POST',
    url: url,
    dataType: "text",
    data: { value1: true, value2: false },
    success: function(html) {
       // removed for clarity
    },
    error: function(xhr, ajaxOptions, thrownError) {
       // removed for clarity
    }
它肯定会击中服务器,当我查看FireBug中的值时,它准确地显示了我对帖子的期望,但是在某些地方,数据丢失了

为了让事情更加混乱,我在IIS本地运行它,它在所有浏览器中都可以正常工作

它没有跨域发布,因为url是根据它运行的域生成的,所以我没有在其中留下任何可能导致问题的硬编码值

我想这是我错过的一件简单的事情,但就我的一生而言,我看不出简短的答案是什么:

在提交HTTP POST时,大多数浏览器(据我所知,除了Firefox之外)都会在一个TCP/IP帧中发送HTTP请求头,然后为实际POST数据开始一个新的第二帧,即使它(理论上)可以全部放在一个帧中。Firefox不会这样做——它会将POST数据发送到与请求头相同的帧中,只有在总请求(头+POST数据)无法容纳在单个帧中时,才会溢出到多个帧中。IIS 7.0中似乎存在一个错误,当HTTP POST由自定义404错误处理程序页面处理时,与初始请求相同的TCP帧中包含的任何POST数据都将被丢弃

肮脏的解决方法是确保表单中的第一件事是1460字节的填充-
应该这样做-第二件事是一个虚拟的名称/值对,以解决由填充引起的解析错误-
。随后的表单值应在Request.form集合中正常显示

有关我们如何解决所有这些问题的详细答案和解释,请参阅