なぜこのコードが機能しないのか不思議です。
これが私がすることです:
電子メールとキーを使用して、機能するスクリプトへのパスを取得します。
スクリプトがあれば、ajax リクエストを実行して関数にアクセスします - getScriptUrlPersonalizationValue ;
この関数は値を取得します。この場合は country: United Statesの値です。
なぜ jQuery.when と .done 関数が国の値を返さないのか疑問に思っています。
グローバルに保存することもできますが、javaScript を学びたいので、これが失敗する理由を教えてください。
コードにコメントを付けてみましたが、上記の説明よりもはるかに優れています。
function getData(key) {
var email = 'myemail@test.com',
url = getScriptUrl(key, email); // returns the valid url towards the script
return jQuery.ajax({
url : url,
dataType : 'script'
}).then(function() {
country = getScriptUrlPersVal('Country');
console.log(country); // returns: 'United States'
// And I pass it:
return country;
});
}
jQuery.when( getData() ).then(function (data, textStatus, jqXHR) {
console.log(data); // returns: undefined - should return United States
console.log(textStatus); // returns: success
console.log(jqXHR); // returns: Object { readyState=4, status=200, statusText="success", more...}
});
何か案は?
ありがとうございました!