我一直在编写ajax请求,但我遇到了问题。
var addonUploadForm = $('#addonUploadForm');
var addonUploadFormMessages = $('#addonUploadForm-messages');
$(addonUploadForm).submit(function(e) {
e.preventDefault();
//var formData = $(addonUploadForm).serialize();
//var formData = new FormData($(this)[0]);
var formData = new FormData($('#addonUploadForm')[0]);
$.ajax({
type: 'POST',
url: $(addonUploadForm).attr('action'),
data: formData,
xhr: function() { },
cache: false,
contentType: false,
processData: false // marked line of error
success: function(response) {
$(addonUploadFormMessages).removeClass('error');
$(addonUploadFormMessages).addClass('success');
$(addonUploadFormMessages).html(response);
$('#addonTitle').val('');
$('#addonDescription').val('');
$('#addonFile').val('');
grecaptcha.reset();
},
error: function(data) {
$(addonUploadFormMessages).removeClass('success');
$(addonUploadFormMessages).addClass('error');
grecaptcha.reset();
if (data.responseText !== '') {
$(addonUploadFormMessages).html(data.responseText);
} else {
$(addonUploadFormMessages).html('<div class="alert alert-danger fade in out"><a href="#" class="close" data-dismiss="alert" aria-label="close" title="close">×</a><strong>Error!</strong> An error occured and your message could not be sent.</div>');
}
}
});
});
这是我的代码,并且在标记的行上有一个缺失,这个代码工作正常,除了不显示页面上的请求,它只是带我到ajax网址,但如果我把它,在它做当我提交表格时没有错误,没有任何错误。
谢谢Ryan
答案 0 :(得分:1)
这一行可能会导致错误:
xhr: function() { },
没有xhr对象,您无法发送ajax请求。 所以请忽略这一行。
此外,您需要将“,”放在标记的行中。 您的网址会打开,因为如果您省略“,”,该函数将抛出错误,您的e.preventDefault()将无效。
我也会忽略这些界限:
contentType: false,
processData: false
你应该逃避这一行中的html内容:
$(addonUploadFormMessages).html(data.responseText);
希望这有帮助。
答案 1 :(得分:0)
我修复了它有2个版本的jquery runnning with noconflict,它们在1.11和1.4之间,1.4在此之前最后加载。所以我不得不将我的冲突改为var jq1 = jQuery.noConflict(true);
,然后将我的ajax代码更改为
var addonUploadForm = $('#addonUploadForm');
var addonUploadFormMessages = $('#addonUploadForm-messages');
$(addonUploadForm).submit(function(e) {
e.preventDefault();
var formData = new FormData($('#addonUploadForm')[0]);
jq1.ajax($(addonUploadForm).attr('action'), {
type: 'POST',
url: $(addonUploadForm).attr('action'),
data: formData,
cache: false,
contentType: false,
processData: false,
success: function(response) {
$(addonUploadFormMessages).removeClass('error');
$(addonUploadFormMessages).addClass('success');
$(addonUploadFormMessages).html(response);
$('#addonTitle').val('');
$('#addonDescription').val('');
$('#addonFile').val('');
grecaptcha.reset();
},
error: function(data) {
$(addonUploadFormMessages).removeClass('success');
$(addonUploadFormMessages).addClass('error');
grecaptcha.reset();
if (data.responseText !== '') {
$(addonUploadFormMessages).html(data.responseText);
} else {
$(addonUploadFormMessages).html('<div class="alert alert-danger fade in out"><a href="#" class="close" data-dismiss="alert" aria-label="close" title="close">×</a><strong>Error!</strong> An error occured and your message could not be sent.</div>');
}
}
});
});