看看这段代码:
<a href="#" id="link">Link</a>
<span>Moving</span>
$('#link').click(function () {
console.log("Enter");
$('#link').animate({ width: 200 }, 2000, function() {
console.log("finished");
});
console.log("Exit");
});
Run Code Online (Sandbox Code Playgroud)
正如您在控制台中看到的那样,"animate"函数是异步的,它"分叉"事件处理程序块代码的流程.事实上 :
$('#link').click(function () {
console.log("Enter");
asyncFunct();
console.log("Exit");
});
function asyncFunct() {
console.log("finished");
}
Run Code Online (Sandbox Code Playgroud)
按照块代码的流程!
如果我想创建我function asyncFunct() { }的这种行为,我怎么能用javascript/jquery做到这一点?我认为这是不使用的策略 setTimeout()
我知道这之前已经被问过很多次了,我几乎尝试了所有这些,但结果有所不同,所以请继续阅读!不要投反对票!正如我所说,我已经尝试了大多数解决方案!
我使用 utf8mb4 作为编码,character_set_connection 和 character_set_database 已设置为 utf8mb4。我网页中的字符集设置为 utf8。我使用过 PDO,当我打开与数据库的连接时,我使用 utf8mb4 作为字符集。表中的列也有 utf8mb4_unicode_ci 作为排序规则。使用的存储引擎是 MyISAM。
出现差异是因为我无法编辑 character_set_server(因为我在共享主机上),它默认设置为 utf8,默认情况下 collation_server 是 utf8_unicode_ui。我不能以任何方式改变这些。它在具有类似字符变量的 localhost 上运行良好。
编辑:
连接变量是 $conn 被打开
$db_server = 'localhost';
$db_name = 'userdb';
$db_encoding = 'utf8mb4';
$db_user = 'test';
$db_pass = 'password';
$conn = new PDO('mysql:host='.$db_server.';dbname='.$db_name.';charset='.$db_encoding,$db_user,$db_pass);
为获取输入的表单很简单
<form action="" method="POST" accept-charset="UTF-8"><input type="text" class="form-control" name="inp"></form>
并且输入被处理为
$test = $_POST['inp'];
$it = $conn->prepare("INSERT INTO tbl_test(message) VALUES(?)");
$it->bindParam(1,$test,PDO::PARAM_STR);
if($it->execute()) echo $test;
else echo 'Error!';
那么问题来了:
1. 为什么我尽可能使用了utf8mb4和utf8mb4_unicode_ci,还是会出现这个问题?
2.这可能是一个 php 问题而不是一个 MySQL 问题,因为问题发生在数据库中的 INSERTION …
asynchronous ×1
function ×1
javascript ×1
jquery ×1
mysql ×1
php ×1
unicode ×1
utf-8 ×1
utf8mb4 ×1