jQueryで、ajax使ってXMLを読みこみsuccessの時のコールバック関数に、別のJSファイルで定義している名前付き関数 myfuncに引数付きで処理させたい。

名前付き関数に、関数をreturnさせるってのが解決法のポイントですね。

こういう風に書いたら、動かなかった。

 

var number = "100";

$.ajax({
type: 'GET',
url: 'URL',
contentType: 'xml',
success: myfunc( number )
});

function myfunc ( number ) { ... }

 

動いたコード

名前付き関数に、無名関数を返す形で使えます。
どうしてこういうのを書いたか忘れてしまいましたが、この例でいうところのnumber変数を動的に代入してmyfunc()ないの条件分岐などに使いたかったのだと思います。
また、success:myfunc( number) のnumberは取得したxmlじゃないのがミソです。
ajaxで取得したxmlは無名関数のxmldataに入っています。

var number = "100";
 
$.ajax({
type: 'GET',
url: 'URL',
contentType: 'xml',
success: myfunc( number )
});
 
function myfunc ( number ) {
//ここでもnumber利用可能
    return function ( xmldata ) {
//ここでもnumber利用可能
        console.log ( number+"is one hundred" );       
//xmldataはajaxで呼んで帰ってきたデータ
        xmldata 処理
    }
}

 

 


Latest Article

 FXのチャートデータからMIDIを生成するプロジェクト h3,h4,h5{margin: 3rem 0;padding:.5rem;}
IntelliJ IDEAのターミナルをWSL にする方法 win10編 あっちこっちのVPSやAWSにSSHでちょっとだけ覗...
Golangで楽天をスクレイピングしてカラーミーCSV生成 楽天運営中のお客様がカラーミーにも出店す
GAE/PHPをIntelliJ IDEAでデバッグ、俺ならこうお世話になった Google App Engineの開発環境をつくって、IntelliJ I
IntelliJ IDEA 設定、2年目の初心者の俺ならこうやってる IntelliJ IDEAを購入(2018/02/26)して、約2年の初心...
カラーミー商品詳細ページSEO対策 構造化マークアップ