私は素晴らしい作品以下の機能を持って、私は、クロスドメインを克服するためにJSONPを使用したコンテンツ・タイプを変更すると、URLにコールバック名を追加しませんでしたHTTPモジュールを書きました。関数の外でJSONP呼び出しの結果を返すには?
function AddSecurityCode(securityCode, token) {
var res=0;
$.ajax({ url: "http://localhost:4000/External.asmx/AddSecurityCode",
data: { securityCode: JSON.stringify(securityCode),
token: JSON.stringify(token)
},
dataType: "jsonp",
success: function(json) {
alert(json); //Alerts the result correctly
res = json;
},
error: function() {
alert("Hit error fn!");
}
});
return res; //this is return before the success function? not sure.
}
解像度変数が未定義alwayes来ています。私はjsonpでasync = falseを使うことはできません。 のでどのように私は、関数の外に結果を返すことができます? と私は確信しsubsequant通話のためにそれを行う必要があります。
してくださいアドバイス、ありがとう。 問題は、私はあなたがAddSecurityCode
は、あなたがして内部呼び出しcallback
パラメータ(実行するためにすなわち機能)をとるようにあなたのコードの流れを書き換える必要があり、この関数の外
感謝を言及する他の回答のようにコールバック関数を使用する必要があり、これは、私が成功内部関数を呼び出すするつもりだった、とチェーンがそのように呼び出すことができますが、よりクリーンでなかったような関数を渡す唯一の方法のようにされているようです。 – Adel