在Firefox中使用jquery的AJAX https POST请求失败

在Firefox中使用jquery的AJAX https POST请求失败,jquery,ajax,firefox,firefox-3,Jquery,Ajax,Firefox,Firefox 3,我在HTML表中有一个简单的记录列表,每行有一个删除链接。delete链接将AJAX post请求发送到一个固定的url,看起来像:“/delete/record/5” AJAX请求是在使用https的服务器上运行时,使用jquery的.AJAX()调用和POST消息创建的。在OSX/Windows架构上的Firefox3中,此调用失败。它适用于我测试过的所有其他浏览器(OSX/Windows:Chrome、Safari、IE7) 请求来自一个https站点,并转到同一个https站点。但我认为

我在HTML表中有一个简单的记录列表,每行有一个删除链接。delete链接将AJAX post请求发送到一个固定的url,看起来像:“
/delete/record/5

AJAX请求是在使用https的服务器上运行时,使用jquery的
.AJAX()
调用和POST消息创建的。在OSX/Windows架构上的Firefox3中,此调用失败。它适用于我测试过的所有其他浏览器(OSX/Windows:Chrome、Safari、IE7)

请求来自一个https站点,并转到同一个https站点。但我认为在这个过程中的某个地方,原始请求以http开始,我们的服务器上有一个重定向尝试,试图从http->https发送请求,Firefox拒绝了这个重定向,认为这是某种伪造


有没有人在使用Firefox的https站点上进行过
.ajax()
JQuery调用?我注意到一些奇怪的地方,如果请求的URL中有“
?var=xxx
”参数,那么请求似乎比没有这些变量的情况下工作得更频繁。

这似乎不太可能。。。我不是在怀疑你。但是我建议下载Wireshark并观察您的HTTP流量,看看您是否能够隔离问题。您可以将其他浏览器发送的请求与FF3发送的请求进行比较,并查看返回的响应类型。如果jQuery在FF3中确实存在功能不正常的问题,您可以修改部分代码以使其正常工作。

您可以安装Firefox Live Headers扩展,该扩展将允许您访问请求/响应中的所有信息。通过这种方式,您将发现任何差异。

您的Firefox上是否安装了插件或GreaseMonkey脚本

我从未遇到过HTTPS上的jQueryAjax请求问题。如果你还没有看到,我建议你看看会出现什么情况。

。如果在没有任何
数据的情况下发送
POST
请求,则可能发生此错误

要解决此问题,请将空对象(
{}
)添加到请求的
数据
属性中:

$.ajax({ 
    url: url, 
    type: 'POST', 
    data: {}, // <- set empty data 
    success: function(data, textStatus) { 
        // do something 
    } 
}); 
$.ajax({
url:url,
键入:“POST”,

数据:{},//我得到了
$。post
通过发送一个空对象作为
数据
参数在Firefox中工作。请注意参数2的空括号:

$.post(url, {}, function(response){ alert('done'); }, "json");

谢谢你的帮助!这正是问题所在!我有FF3和nginx,输入一个空白数据{}修复了问题。我不需要数据{}中的id来删除,因为id已经在url中。请注意!谢谢。修复了Firefox 3.0.x在ajax调用中失败的问题。谢谢。