我被迫使用该函数之外的 getJSON 回调函数中的数据。看一看:
$('#stars').raty({
score: function() {
var $value = 0;
var $id = <?=$id?>;
$.getJSON("getuserrating.php?id=" + $id, function(data) {
$.each(data, function(key, val) {
$value = val;
});
});
return $value;
},
});
这是我尝试过的,但失败了,$value 仍然设置为 0,尽管在回调中它肯定设置为实际值。我知道它为什么会失败,因为 AJAX 请求是异步发送的。问题是,在回调中做所有事情的正确方法是不可能的。如您所见,我需要在比率(插件)设置中检索 JSON 对象。我只会使用 $.ajax() 并将其设置为同步,但文档将其标记为 1.8 已弃用。我宁愿不介绍我知道将来会弃用的解决方案。
有没有办法做到这一点?也许我只是只见树木不见森林,摆在我面前的是一个简单的解决方案。提前致谢 :)