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
”