我的提醒显示“未定义”,其中包含以下代码:
var nonce = (function () {
$.ajax({
url: site_url + '/api/get_nonce/?controller=user&method=register&apikey=XXX&callback=?',
type: "GET",
dataType: 'json',
success: function(data){
nonce = data.nonce;
}
});
return nonce;
})();
alert(nonce);
JSON是:
?({"status":"ok","controller":"user","method":"register","nonce":"XXX"})
我做错了什么?
答案 0 :(得分:2)
Ajax调用是asynchronous。在你正在进行return nonce;
时,结果还没有到达 - 或者至少不能保证。
您需要在Ajax调用的alert(nonce);
处理程序中放置success
以及您想要对结果执行的任何其他操作。
从长远来看,你还需要一个error
回调来处理出错的地方。