Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 未使用Ajax调用及时更新变量_Jquery_Ajax_Datepicker - Fatal编程技术网

Jquery 未使用Ajax调用及时更新变量

Jquery 未使用Ajax调用及时更新变量,jquery,ajax,datepicker,Jquery,Ajax,Datepicker,我缩小了先前提出的一个问题的范围,找出了问题所在,但无法解决 我有一个变量需要在一个事件函数中设置,然后才能触发下一个事件 这不会发生,因为我通过Ajax调用检索变量。尽管我认为我所有的ajax设置都是正确的(?),但这并没有发生。我在Firebug中使用控制台日志记录,其中包含“2”的控制台日志记录在应该首先创建的另一个日志条目(其中包含“1”)之前 它是datepicker实例的一部分,带有ajax调用。完整代码如下。顺便说一句——我已经调用了ajax,并插入了一个硬编码变量进行测试——它工

我缩小了先前提出的一个问题的范围,找出了问题所在,但无法解决

我有一个变量需要在一个事件函数中设置,然后才能触发下一个事件

这不会发生,因为我通过Ajax调用检索变量。尽管我认为我所有的ajax设置都是正确的(?),但这并没有发生。我在Firebug中使用控制台日志记录,其中包含“2”的控制台日志记录在应该首先创建的另一个日志条目(其中包含“1”)之前

它是datepicker实例的一部分,带有ajax调用。完整代码如下。顺便说一句——我已经调用了ajax,并插入了一个硬编码变量进行测试——它工作得非常好。因此,是ajax不能正常工作

变量“varDate”在document ready函数外部声明:

<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);

    },