Javascript jqueryajax冲突问题

Javascript jqueryajax冲突问题,javascript,jquery,ajax,Javascript,Jquery,Ajax,我一直在编写一个ajax请求,但遇到了一个问题 var addonUploadForm = $('#addonUploadForm'); var addonUploadFormMessages = $('#addonUploadForm-messages'); $(addonUploadForm).submit(function(e) { e.preventDefault(); //var formData = $(addonUploadForm).serialize();

我一直在编写一个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>');
            }
        }
    });
});
var addonUploadForm=$('addonUploadForm');
var addonUploadFormMessages=$('addonUploadFormMessages');
$(addonUploadForm).submit(函数(e){
e、 预防默认值();
//var formData=$(addonUploadForm).serialize();
//var formData=新formData($(此)[0]);
var formData=new formData($('#addonUploadForm')[0]);
$.ajax({
键入:“POST”,
url:$(addonUploadForm).attr('action'),
数据:formData,
xhr:function(){},
cache:false,
contentType:false,
processData:false//标记了错误行
成功:功能(响应){
$(addonUploadFormMessages).removeClass('error');
$(addonUploadFormMessages).addClass('success');
$(addonUploadFormMessages).html(响应);
$('#addonTitle').val('');
$('#addonDescription').val('');
$('#addonFile').val('');
grecaptcha.reset();
},
错误:函数(数据){
$(addonUploadFormMessages).removeClass('success');
$(addonUploadFormMessages).addClass('error');
grecaptcha.reset();
如果(data.responseText!=''){
$(addonUploadFormMessages).html(data.responseText);
}否则{
$(addonUploadFormMessages).html(“错误!发生错误,无法发送您的邮件。”);
}
}
});
});

这是我的代码,在标记的行中缺少一个,这段代码运行良好,只是没有在页面上显示请求,而是将我带到ajax url,但如果我在其中输入,则在我提交表单时不会执行任何操作。无错误,无任何操作。

可能是这一行导致了错误:

xhr: function() {  },
如果没有xhr对象,则无法发送ajax请求。 所以,删掉这一行

你还需要把“,”放在你的标记线上。 您的url将打开,因为如果您省略“,”选项,函数将抛出一个错误,并且您的e.preventDefault()将无法工作

此外,我将省略以下几行:

contentType: false,
processData: false 
您可能应该转义这一行中的html内容:

$(addonUploadFormMessages).html(data.responseText);

希望这有帮助。

我修复了它,我有两个版本的jquery运行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>');
            }
        }
    });
});
var addonUploadForm=$('addonUploadForm');
var addonUploadFormMessages=$('addonUploadFormMessages');
$(addonUploadForm).submit(函数(e){
e、 预防默认值();
var formData=new formData($('#addonUploadForm')[0]);
jq1.ajax($(addonUploadForm).attr('action'){
键入:“POST”,
url:$(addonUploadForm).attr('action'),
数据:formData,
cache:false,
contentType:false,
processData:false,
成功:功能(响应){
$(addonUploadFormMessages).removeClass('error');
$(addonUploadFormMessages).addClass('success');
$(addonUploadFormMessages).html(响应);
$('#addonTitle').val('');
$('#addonDescription').val('');
$('#addonFile').val('');
grecaptcha.reset();
},
错误:函数(数据){
$(addonUploadFormMessages).removeClass('success');
$(addonUploadFormMessages).addClass('error');
grecaptcha.reset();
如果(data.responseText!=''){
$(addonUploadFormMessages).html(data.responseText);
}否则{
$(addonUploadFormMessages).html(“错误!发生错误,无法发送您的邮件。”);
}
}
});
});

您缺少一个逗号。这是行不通的。如果你不相信我现在使用steam登录,我只是在控制台中得到“Uncaught TypeError:非法调用”任何想法也只是一个注释我在请求中发送文本和文件,只是删除
xhr:function(){},
并添加
使其完全不发送任何内容
数据。responseText
?如果http代码是错误代码,它将从ajax请求页面发送数据