Jquery 未使用Ajax调用及时更新变量
我缩小了先前提出的一个问题的范围,找出了问题所在,但无法解决 我有一个变量需要在一个事件函数中设置,然后才能触发下一个事件 这不会发生,因为我通过Ajax调用检索变量。尽管我认为我所有的ajax设置都是正确的(?),但这并没有发生。我在Firebug中使用控制台日志记录,其中包含“2”的控制台日志记录在应该首先创建的另一个日志条目(其中包含“1”)之前 它是datepicker实例的一部分,带有ajax调用。完整代码如下。顺便说一句——我已经调用了ajax,并插入了一个硬编码变量进行测试——它工作得非常好。因此,是ajax不能正常工作 变量“varDate”在document ready函数外部声明:Jquery 未使用Ajax调用及时更新变量,jquery,ajax,datepicker,Jquery,Ajax,Datepicker,我缩小了先前提出的一个问题的范围,找出了问题所在,但无法解决 我有一个变量需要在一个事件函数中设置,然后才能触发下一个事件 这不会发生,因为我通过Ajax调用检索变量。尽管我认为我所有的ajax设置都是正确的(?),但这并没有发生。我在Firebug中使用控制台日志记录,其中包含“2”的控制台日志记录在应该首先创建的另一个日志条目(其中包含“1”)之前 它是datepicker实例的一部分,带有ajax调用。完整代码如下。顺便说一句——我已经调用了ajax,并插入了一个硬编码变量进行测试——它工
<script type='text/javascript'>
var varDate = 'toby';
$(document).ready(function(){
控制台在这里所做的是首先错误地记录变量(使用第二个日志记录事件),然后触发日期选择器的下一个事件。在那之后,变量被更新——随后单击datepicker字段将设置正确的变量——但是这太晚了,没有什么好处
So:控制台结果:
获取Ajax调用请求
2-ajax完成-日志控制台
后Ajaxtoby
1-得到结果了吗
有人帮忙吗?试试
async:false
而不是async:'false'
我猜这是因为'false'==true
:)
使用
async:false重试代码>作为$.ajax
ajax选项。Wow-这一定会创造一个愚蠢的记录。谢谢
$('.subject-date-pick').datetimepicker({
timeFormat: 'hh:mm:ss',
startDate:'01/01/1996',
clickInput:true,
beforeShow: function(input,inst) {
var source = $("#" + inst.id).attr('source');
var source_id = $("#" + inst.id).attr('source_id');
var thing = $.ajax({
type: 'GET',
url: 'ajax_get_unavailable_dates.php',
dataType: 'text',
async: 'false',
global: 'false',
data: {
source_type: source,
source_db_id: source_id
},
success: function(msg) {
console.log("1 - got the result");
varDate = (msg)
}
});
console.log("2 - ajax complete - logging console");
console.log("Post Ajax"+varDate);
},