これは私を夢中にさせています。
AJAX 内からプロパティの値を設定できないようです。
以下は私のコードです
function Captcha(userKey) {
var self = this;
this.key;
this.getCaptchaKey = function(userKey) {
$.post('/api/captcha/get-key',data, function(data, status,jqXHR) {
if(status) {
self.key = data.data.captchaKey;
}
},"json");
};
this.getCaptchaKey(userKey);
}
「this」を「self」として設定し、AJAX 呼び出し内から参照します。
次に、このオブジェクト自体をオブジェクトの外側で console.log() すると、値が既に設定されていることがわかります。
self.captcha = new Captcha(self.userKey);
self.captchaKey = self.captcha.key
console.log(self.captcha);
したがって、「self.captcha」は、AJAX 呼び出しから設定された「キー」の正しい値を持つオブジェクトを返します。
しかし、console.log(self.captcha.key) を実行すると、「未定義」と表示されます
私はどこでもグーグルで検索しましたが、答えが見つかりませんでした。