首页 > 解决方案 > AJAX-altering JS 在函数完成后在事件函数内提供 JS 变量

问题描述

我有以下 PHP 文件,我将$.ajax()在我的 JS 中使用 my 调用:

<?php
    header('Content-Type: application/json');
    echo json_encode(array('One' => 'Test'));
?>

我的 JS 中有以下代码:

<script type = "text/javascript">
    let changeValue;
    $('#someElementID').click(function() {
        $.ajax({
            type: 'POST',
            url : 'phpfile.php',
            dataType : 'json',
            success: function(obj, textStatus) {
                changeValue = obj.One;
            }
        });

        $('#toBeChangedElementValue').text(changeValue);
    }
</script>

问题是:changeValue变量只有在 my$('#toBeChangedElementValue').text()被执行后才获得它的值。它是如何工作的?我该如何解决?我不得不将其放入$('#toBeChangedElementValue').text(changeValue)我的成功回调中以使其正常工作。为什么我没有changeValue在决赛发生之前先得到更新.text()

标签: javascriptphpajax

解决方案


推荐阅读