0

関数「saveToFile()」の実行が完了したら、最初の ajax 呼び出しを実行し、その後、2 番目の ajax 呼び出しを実行したいと考えています。コードどおりに動作しないようです。私はajaxにかなり慣れていないので、これに少し苦労しています。

// save composition to database 
$.ajax({ 
    type: "POST", 
    url: "_inc/save_to_db.php", 
    data: {jsonStr: canvasStr}, 
    success: function(data) {
            // this saves the comp to the _comps folder on the server as a jpeg file (firth.js)
            saveToFile();

            $.ajax({
            type: "POST".
            url: "_inc/generate_thumbnail.php",
            data: {imgFile: "<?php echo $_SESSION['UserID'] ?>_<?php echo $_SESSION['CompID'] ?>.jpg"},
            });
        }
    });
4

2 に答える 2

1

私のために働く:http://jsbin.com/upujur/2/edit

問題は、次の行のコンマではなくドットにある可能性があります。

type: "POST".

プログラムのデバッグに FireBug や Developer Tools などの JavaScript コンソールを使用していますか?

于 2013-06-17T06:46:49.003 に答える
1

saveToFile関数が実行する AJAX 呼び出しが終了すると実行されるコールバックをパラメーターとして受け取るようにすることができます。例えば:

$.ajax({ 
    type: "POST", 
    url: "_inc/save_to_db.php", 
    data: {jsonStr: canvasStr}, 
    success: function(data) {
        // this saves the comp to the _comps folder on the server as a jpeg file (firth.js)
        saveToFile(function(result) {
            $.ajax({
                type: "POST",
                url: "_inc/generate_thumbnail.php",
                data: {imgFile: "<?php echo $_SESSION['UserID'] ?>_<?php echo $_SESSION['CompID'] ?>.jpg"},
            });
        });
    }
});

saveToFile関数は次のようになります。

function saveToFile(successCallback) {
    $.ajax({
        url: ...,
        type: ...,
        data: ...,
        success: successCallback
    });
}
于 2013-06-17T06:34:33.350 に答える