Javascript can';t使用jquery.post更改变量

Javascript can';t使用jquery.post更改变量,javascript,jquery,Javascript,Jquery,如果数据输出为真但不起作用,我想将var code值更改为“asd” 当前结果 jquery代码: $('.generate').click(function() { var code = "vhe8t"; $.post('functions/functions.php', { fun: "code_generate", string: code }, function(data) { if (data ==

如果数据输出为真但不起作用,我想将
var code
值更改为
“asd”

当前结果

jquery代码

$('.generate').click(function() {
      var code = "vhe8t";

      $.post('functions/functions.php', {
        fun: "code_generate",
        string: code
      }, function(data) {
        if (data == "true") {
          code = "asd";
          console.log("hello world");
        }
      })

     console.log(code);
});
Function.php代码

<?php

  $connection = new mysqli("localhost", "root", "root", "shop_management");

  $fun = "";
  if (isset($_POST['fun'])) {
    $fun = $_POST['fun'];
  }

  if ($fun == "code_generate") {
    $code = $_POST['string'];
    $query = "SELECT * FROM code WHERE code='$code'";
    $run = mysqli_query($connection, $query);
    $nums = mysqli_num_rows($run);

    if ($nums > 0) {
      echo 'true';
    } else {
      echo 'false';
    }
  }
?>

$。post
异步运行。当该函数运行时,它只发送请求-响应尚未返回,因此当您运行
console.log(code)时
code
在这1ms内仍然没有更改

将其放在回调中:

$.post('functions/functions.php', {
  fun: "code_generate",
  string: code
}, function(data) {
  if (data == "true") {
    code = "asd";
    console.log("hello world");
    console.log(code);
  }
});

$.post
异步运行。当该函数运行时,它只发送请求-响应尚未返回,因此当您运行
console.log(code)时
code
在这1ms内仍然没有更改

将其放在回调中:

$.post('functions/functions.php', {
  fun: "code_generate",
  string: code
}, function(data) {
  if (data == "true") {
    code = "asd";
    console.log("hello world");
    console.log(code);
  }
});

异步问题!这肯定是重复的。
console.log()
是在
$.post()
完成之前执行的,正如Ele指出的“异步问题”。如果可以更新
code
变量,那么应该在全局范围内定义它。异步问题!这肯定是重复的。
console.log()
是在
$.post()
完成之前执行的,正如Ele指出的“异步问题”。如果您可以更新
code
变量,那么您应该在全局范围内定义它。这是一个重复的问题,我的朋友
:)
这将给我控制台输出。我想更改变量。它确实更改了变量:
code=“asd”@saqibkifayat,如我在你问题下方的评论中所述。“在全局范围内定义
code
””这是一个重复的问题,我的朋友
:)
这将给我控制台输出。我想更改变量。它确实更改了变量:
code=“asd”@saqibkifayat,如我在你问题下方的评论中所述。“在全局范围内定义
code