1 回答
TA贡献1872条经验 获得超3个赞
$.post
是异步方法,它无法返回任何内容。而且您的问题是在ajax调用结束之前设置了结果值。这就是为什么console.log值设置为的原因0
。
因此,您需要在成功函数的回调中进行设置。
并且在回调
this
元素内部为无效元素,因此您需要在传递给成功函数之前声明另一个变量,例如var that = this
代码:
(function($) {
$.fn.NotYet = function(arti_id) {
this.append(function() {
var that = this;
var result = 0;
$.post("comment_load.php", {
arti_id: arti_id,
status: 1
}, function(data) {
console.log(data); // Returns data from POSTed PHP file
$(that).append(data); //its work
result = data;
});
console.log(result); // Returns 0 //its excute before ajax call
return result; // its not possible
});
};
})(jQuery);
- 1 回答
- 0 关注
- 123 浏览
添加回答
举报