我正在为我的网站项目创建 API。
我制作了一些将在 .ready()
运行的 Javascript 函数.
所以第一个运行的代码是我的 <table>
使用 DataTable.js。
Ajax 部分是这样的:
$(document).ready(function() {
var table = $('#ticketTable').DataTable( {
"ajax": {
"url": "api.php?getTickets",
"type": "GET",
"dataSrc": ""
},
之后(但仍在 .ready()
中)
我调用我 GetTotalUsers
像这样的功能:
$('#totalUsers').replaceWith(GetTotalUsers());
还有 GetTotalUsers
函数看起来像这样:
function GetTotalUsers() {
var response = $.ajax({
type: "GET",
url: "api.php?getUsers&count",
success: function(text) {
response = text;
}
});
return response;
}
我现在的问题是,如果我按 F5,代码将运行并且成功了一半。
我为什么这么说?因为 1 秒钟我可以看到 #totalUsers
将包含数字 5(总用户数),但 1 秒后它将被删除,然后就什么都没有了。
所以我想问,难道不能同时有多个 Ajax 请求吗? 为什么我只能看到 TotalUsers 1 秒? 为什么 Totalusers 会在 1 秒后被删除?
最佳答案
就像 Rory 和 Kaddath 在评论中所说的那样,我问题中的 response
是一个 jqXHR
。所以我决定以这种方式修复它:
GetTotalUsers('#totalUsers');
GetTotalUsers(content) {
var response = $.ajax({
type: "GET",
url: "api.php?getUsers&count",
success: function(text) {
$(content).replaceWith(text);
}
});
}
但如果我的问题代码不能正常工作,为什么我可以看到 1 秒的结果?
关于Javascript 函数将运行并在 1 秒后自动删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47789829/