1

我在这里问jQuery ajax() 中是否有任何设置参数,它让我们在数据已成功传输到php 文件时调用函数,而不是在数据已传输且php 文件解析代码并返回值时调用函数。

我有以下代码:

$.ajax({
    ..
    ..
    ..
    success: function(data) {
        // do something
    }
});

但我希望它像:

$.ajax({
    ..
    ..
    ..
    onTransfer: function() {
        // do something like show a div saying "Done".
    },
    success: function(data) {
        // do something
    }
});
4

2 回答 2

1

您只能从服务器端得到 1 个答案,成功有什么问题?如果您的过程花费的时间太长,那么您可以在脚本启动后立即返回并显示“正在处理您的请求”作为结果success

<?php

    ob_end_clean();                    // discard everything
    header("Connection: close");       // send Connection close
    ignore_user_abort(true);           // ignore user abort
    set_time_limit(0);                 // no time limit
    ini_set("memory_limit","200M");    // setup a memory usage needed
    ob_start();                        // start output buffer

    header("Content-Length: 0");       // send lenght 0
    ob_end_flush();                    // end and flush
    flush();

    // continue your script

当您收到成功的答案时,您的脚本将继续运行。

于 2013-07-26T09:26:15.583 回答
0

你可以这样使用它

$.ajax({
   url: "test.html",
   context: document.body
   }).done(function() {
   $(this).addClass("done");
   });

有关更多详细信息,请查看以下链接

http://api.jquery.com/jQuery.ajax/

于 2013-07-26T09:26:01.623 回答