Jquery 在Firefox和IE10+;
我有一个使用ajax提交的标准表单。接下来是Ajax代码:Jquery 在Firefox和IE10+;,jquery,ajax,Jquery,Ajax,我有一个使用ajax提交的标准表单。接下来是Ajax代码: $.ajax({ url: 'ajax/ajax.php', type: 'post', data: new FormData( this ), processData: false, contentType: false, success: function(response) { if(response == 1) { // do something
$.ajax({
url: 'ajax/ajax.php',
type: 'post',
data: new FormData( this ),
processData: false,
contentType: false,
success: function(response) {
if(response == 1) {
// do something
} else {
// do something else
}
}
});
它在Google Chrome和Safari中工作得非常完美。但是当我在IE10+上测试时(我知道FormData在IE10下不起作用),Firefox也不起作用,没有向php文件提交帖子信息。原因是什么?我找到了解决办法。我为输入类型submit按钮使用了一个值,它可以在php端捕获帖子。问题是在Firefox或IE10+上,PostData不发送输入类型submit name。所以我做了一个隐藏输入,它使用了与输入类型submit相同的名称,现在它可以工作了。非常奇怪的问题 这不随FormData一起提交
<input type="submit" name="project-form" value="SUBMIT FORM">
这不符合要求
<input type="hidden" name="project-form" value="true">
为什么不使用
$(this).serialize()
?您是否在浏览器控制台中查看了请求/响应?谢谢,我查看了请求并发现了问题。