我不是JavaScript专业人员,而且在网上搜寻了很长时间。
我有一个问题,就是无法从另一个函数中获取变量。我的代码看起来像这样:
var variabeltje;
$.post('js/ajax/handle_time.php', {'time': $(this).find('input').val()},
function(data) {
alert(data);
variabeltje=data;
}
);
alert(window.variabeltje);
变量variabeltje
必须从数据中获取信息。当我在variabeltje=data
下面放置警报时,它能够正常工作,但是我需要在函数之后使用数据变量。
编辑:
根据其他人的建议,我已经对其进行了更改,现在它变成了这样:
var XHR = $.post('js/ajax/handle_time.php', {time: $(this).find('input').val()});
XHR.done(function(data) {
console.log(data);
getData(data);
});
function getData(data) {
if(data == 'true') {
alert(data);
$(this).unbind('keypress');
$(this).html($(this).find('input').val());
}
}
但现在$(this)没有传递到函数中。我该如何解决这个问题?
$.post()
调用之后(即请求发送后)尝试这样做。相反,你应该在传递给$.post()
的函数内部执行此操作,该函数将在请求完成后执行。 - Jasper