Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ajax beforeSend函数没有';好像不行_Jquery_Ajax - Fatal编程技术网

Jquery Ajax beforeSend函数没有';好像不行

Jquery Ajax beforeSend函数没有';好像不行,jquery,ajax,Jquery,Ajax,我有一个表单,可以将一个小文本文件发送到服务器,在那里它的数据通过PHP进行处理。结果显示在颜色框中。它工作正常,但我想在上传和处理用户数据时向用户显示一条小消息(需要几秒钟),并在显示结果后再次隐藏。但由于某种原因,该消息(span#ajaxloading)没有出现 HTML: 修复它!正在处理您的数据。。。 jQuery: jQuery("#fixit").click(function() { if(form.valid() == true ) { var form

我有一个表单,可以将一个小文本文件发送到服务器,在那里它的数据通过PHP进行处理。结果显示在颜色框中。它工作正常,但我想在上传和处理用户数据时向用户显示一条小消息(需要几秒钟),并在显示结果后再次隐藏。但由于某种原因,该消息
(span#ajaxloading)
没有出现

HTML:

修复它!正在处理您的数据。。。
jQuery:

jQuery("#fixit").click(function() {
    if(form.valid() == true ) {
        var formData = new FormData(jQuery('#ajastaja')[0]);
        jQuery.ajax({
            beforeSend: function(){
                jQuery('#ajaxloading').show(); // <- Not working!
            },
            url: '/path/to/my.php',
            type: 'POST',
            data: formData,
            async: false,
            success: function (data) {
                jQuery('#ajaxloading').hide(); // <- Works here
                jQuery('#answerbox').html(data);
            },
            cache: false,
            contentType: false,
            processData: false
        });
        jQuery.colorbox({
            inline:true,
            href:'#answerbox',
            width:'500px',
            closeButton:false
        });
        return false;
    }
});
jQuery(“#fixit”)。单击(函数(){
if(form.valid()==true){
var formData=new formData(jQuery('#ajastaja')[0]);
jQuery.ajax({
beforeSend:function(){

jQuery(“#ajaxloading”).show();//如果beforeSend函数不起作用,请尝试以这种方式调用click函数

Jquery:

    jQuery("#fixit").click(function () {
    jQuery('#ajaxloading').show();
    if (form.valid() == true) {
        var formData = new FormData(jQuery('#ajastaja')[0]);
        jQuery.ajax({
            url: '/path/to/my.php',
            type: 'POST',
            data: formData,
            async: false,
            success: function (data) {
                jQuery('#ajaxloading').hide(); // <- Works here
                jQuery('#answerbox').html(data);
            },
            error:function(data)
            {
                jQuery('#ajaxloading').hide();
            },
            cache: false,
            contentType: false,
            processData: false
        });
        jQuery.colorbox({
            inline: true,
            href: '#answerbox',
            width: '500px',
            closeButton: false
        });
        return false;
    }
    else {
        jQuery('#ajaxloading').hide();
    }
});
jQuery(“#fixit”)。单击(函数(){
jQuery('#ajaxloading').show();
if(form.valid()==true){
var formData=new formData(jQuery('#ajastaja')[0]);
jQuery.ajax({
url:“/path/to/my.php”,
键入:“POST”,
数据:formData,
async:false,
成功:功能(数据){

jQuery(“#ajaxloading”).hide();//我发现您的代码很好,代码段中没有定义表单,但beforeSend在这里工作:

像其他答案一样,我必须将其包装在一个文档中。准备好了吗,但这可能已经在您的代码片段之外完成了

    var formData = new FormData(jQuery('#ajastaja')[0]);
    jQuery.ajax({
        beforeSend: function(){
          console.log('beforeSend')
            jQuery('#ajaxloading').show(); // <- Not working!
        },
        url: '/path/to/my.php',
        type: 'POST',
        data: formData,
        async: false,
        success: function (data) {
            jQuery('#ajaxloading').hide(); // <- Works here
            jQuery('#answerbox').html(data);
        },
        cache: false,
        contentType: false,
        processData: false
    });
var formData=new formData(jQuery('#ajastaja')[0]);
jQuery.ajax({
beforeSend:function(){
console.log('beforeSend')

jQuery(“#ajaxloading”).show();//尝试包装您的单击函数:

$(document).ready(function() {
    $("#fixit").click(function() {
        ...
    });
});

尝试删除以下行

async: false,

dode您是否错过了结尾处的冒号(您的函数})将此更改为});@Yaseen dode在
jquery
中不需要使用分号,它是可选的,不是强制性的。@Yaseen不需要使用冒号“;”直到它被压缩。如果
show();
不工作如何
.hide()
正在工作?您是如何检查的?您能尝试使用$.ajax而不是jquery.ajax吗?很抱歉,它实际上已经包装好了。我编辑了我的文章。是的,很抱歉。我编辑了我的文章。虽然此代码可以回答问题,但提供了有关此代码回答问题的原因和/或方式的其他上下文on提高了它的长期价值。
async: false,