在发送图像之前停止ajax

时间:2016-04-22 21:29:35

标签: jquery ajax

请问如何通过ajax方法停止提交表单的beforeSend图像。这是我的代码:

<script type="text/javascript" src="jquery.js"></script>
<form id="my-form">
    <input type="test" id="post" name="post" />
    <input type="submit" id="submit" value="post" class="slide" />
</form><div id="tutorial"></div>
<script type="text/javascript">
    $(document).ready(function() {
        $('#my-form').submit(function(e) {
            e.preventDefault();
            $.ajax({
                method: "GET",
                url: "fell.php",
                data: $(this).serialize(),
                beforeSend: function(){
                    $('#tutorial').html("<img src='progress-dots.gif' />");
                },
                success: function(status) {
                    $('#post').val('');
                }
            });
        });
    });
</script>

2 个答案:

答案 0 :(得分:1)

那么你可以在该加载器图像上添加一个唯一的类,并在ajax完成后删除该图像加载器。

ffmpeg -r 25 -i  "udp://lo@238.108.108.11:1234? overrun_nonfatal=1&fifo_size=50000000" -c:v libx265 -preset ultrafast -x265-params crf=23 -strict experimental -f mpegts udp://lo@238.108.108.11:1234

在上面的代码中,jQuery 完整回调用于确保在ajax调用成功完成或获取错误的两种情况下都删除了loader。

答案 1 :(得分:0)

如果您的目标是在ajax调用成功返回后删除图像,则在success回调函数中将html设置为空:

            success: function(status) {
                $('#post').val('');
                $('#tutorial').html("");
            }

感谢 @Jeromy French 指出那个令人烦恼的旋转器总会让你失败。你应该在那里抛出一条错误信息,以便在遇到技术问题时帮助你的用户。

            success: function(status) {
                $('#post').val('');
                $('#tutorial').html("");
            },
            error: function() {
                $('#tutorial').html("sorry! there was an error");
            }