0

jQuery AJAX呼び出しがあり、これを複数回実行する必要があるため、関数に変換したいのですが、方法がわかりません。これがコードです。何か案は?些細なことのように思えますが、周りを見回して、これを適切に行う方法がわかりません...

//This does the ajax call to show the actual creative
    $('#creative').change(function() {
        $.ajax({
            url: '/app/components/MailingsReport.cfc',
            //POST method is used
            type: "POST",
            //pass the data 
            data: {
                method: "getCreativeHTML",
                creativeID: $('#creative').val(),
                datasource: "shopping_cart"
                 },
            dataType: "html",
            //contentType: "application/text; charset=utf-8",
            success: function(response){
                var obj = $.trim(response);
                //alert("response");
                if (obj == '"0 records"') {
                    $('#preview').html("No creative found.");
                }
                else { 
                    $('#htmlCode').val( obj );
                    $('#preview').html( obj );
                }
            }
        })
        //if there was an error, when user clicks into field hightlight-error is removed
        $('#htmlCode').change(function(){
            $('#reloadContent').show();
        });
    });
4

2 に答える 2

3
function foo(e) {
        $.ajax({
            url: '/app/components/MailingsReport.cfc',
            //POST method is used
            type: "POST",
            //pass the data 
            data: {
                method: "getCreativeHTML",
                creativeID: $('#creative').val(),
                datasource: "shopping_cart"
                 },
            dataType: "html",
            //contentType: "application/text; charset=utf-8",
            success: function(response){
                var obj = $.trim(response);
                //alert("response");
                if (obj == '"0 records"') {
                    $('#preview').html("No creative found.");
                }
                else { 
                    $('#htmlCode').val( obj );
                    $('#preview').html( obj );
                }
            }
        });
}

そして呼び出し:

$('#creative').change(function(e) { return foo(e); });
于 2012-06-25T22:58:19.817 に答える
0
$.ajax({
     //parameres
    });

実際には単純な関数呼び出しです。

$.ajax(parameters);

次のような同様の関数呼び出しのように、関数内にラップできます。

add(1,2);

AJAX 呼び出しパラメーター (例: myUrl) でいくつかの変数を使用している場合は、関数を呼び出したスコープで使用できることを確認してください。

簡単な例:

function sendRquest(myUrl){ 
$.ajax({
    url : myUrl,
    //other parameters
    });
}
于 2012-06-25T23:07:07.823 に答える