我有一个正常的形式,我与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
} else {
// do something else
}
}
});
它在Google Chrome和Safari中工作完美。但是当我在IE10+上测试时(我知道FormData在IE10下不起作用),Firefox不起作用,没有将Post信息提交到php文件。原因是什么呢?
我找到了解决方案。我为输入类型submit按钮使用了一个值,该值将捕获php端的POST。问题是,在Firefox或IE10+上,PostData不发送输入类型提交名称。因此,我创建了一个隐藏输入,使用与输入类型submit相同的名称,现在它工作了。非常奇怪的问题。
THIS doesn ' t SUBMIT WITH FormData
<input type="submit" name="project-form" value="SUBMIT FORM">
THIS DOES SUBMIT
<input type="hidden" name="project-form" value="true">