gpt4 book ai didi

javascript - JQuery AJAX 提交按钮在使用数据库时无限期加载

转载 作者:行者123 更新时间:2023-11-29 20:50:38 25 4
gpt4 key购买 nike

<分区>

我想在单击按钮时显示来自 Mysql 数据库的数据。为此,我使用 AJAX。

我用了this教程,这是我想要达到的 90%。不幸的是,数组在这个例子中是硬编码的,我使用数据库中的数据构造我的数组。

所以我复制并粘贴了教程,并在我的网站上逐步重新创建了它。但我在最后一步失败了。当我使用由 mysqli_query 函数创建的数组时,提交按钮会在显示“正在处理”时无限期加载。

这是 JQuery:

$(document).ready(function(){
$("#personen").click(function(){
//disable the submit button
$(this).attr('disabled','true');
$(this).css('cursor','progress');
$(this).html('processing');
$.ajax({
url: '/widenmoos/administrator/components/com_backend/Personen_AJAX.php',
error: function(data, error, errorThrown){
alert(error);
alert(errorThrown);
},
success: function(data,status)
{
createTableByForLoop(data);
createTableByJqueryEach(data);
//enable the submit button
$('#personen').css('cursor','pointer');$('#personen').html('Submit');$('#personen').removeAttr('disabled');
},
async: true,
dataType: 'json'
});
});
});

function createTableByForLoop(data)
{
var eTable="<table><thead><tr><th colspan='5'>Created by for loop</th></tr><tr><th>Titel</th><th>Vorname</th><th>Name</th><th>Unternehmen</th><th>Gruppe</th</tr></thead><tbody>"
for(var i=0; i<data.length;i++)
{
eTable += "<tr>";
eTable += "<td>"+String(data)[i]['Titel']+"</td>";
eTable += "<td>"+String(data)[i]['Vorname']+"</td>";
eTable += "<td>"+String(data)[i]['Name']+"</td>";
eTable += "<td>"+String(data)[i]['Unternehmen']+"</td>";
eTable += "<td>"+String(data)[i]['Gruppe']+"</td>";
eTable += "</tr>";
}
eTable +="</tbody></table>";
$('#forTable').html(eTable);
}

function createTableByJqueryEach(data)
{


var eTable="<table><thead><tr><th colspan='5'>Created by Jquery each</th></tr><tr><th>Titel</th><th>Vorname</th><th>Name</th><th>Unternehmen</th><th>Gruppe</th</tr></thead><tbody>"
$.each(data,function(index, row){
// eTable += "<tr>";
// eTable += "<td>"+String(data)[i]['Titel']+"</td>";
// eTable += "<td>"+String(data)[i]['Vorname']+"</td>";
// eTable += "<td>"+String(data)[i]['Name']+"</td>";
// eTable += "<td>"+String(data)[i]['Unternehmen']+"</td>";
// eTable += "<td>"+String(data)[i]['Gruppe']+"</td>";
// eTable += "</tr>";

eTable += "<tr>";
$.each(row,function(key,value){
eTable += "<td>"+value+"</td>";
});
eTable += "</tr>";
});
eTable +="</tbody></table>";
$('#eachTable').html(eTable);
}

这是硬编码的数组:

<?php 

header("Content-type: application/json");
$employees =
array(
array
(
"Titel" => "Jack",
"Vorname" => "Magager",
"Name" => "$60,000",
"Unternehmen" => "oaisjd",
"Gruppe" => "dajskdj",
),

array
(
"Titel" => "Jack",
"Vorname" => "Magager",
"Name" => "$60,000",
"Unternehmen" => "oaisjd",
"Gruppe" => "dajskdj",
),

array
(
"Titel" => "Jack",
"Vorname" => "Magager",
"Name" => "$60,000",
"Unternehmen" => "oaisjd",
"Gruppe" => "dajskdj",
)
);

echo json_encode($employees);
?>

这是从我的数据库条目派生的数组:

<?php    
echo json_encode($employees);

include($_SERVER['DOCUMENT_ROOT'].'/website/dbConnection.php');
header("Content-type: application/json");

function filterTable($searchquery)
{
$filter_Result = mysqli_query($GLOBALS['connect'], $searchquery);
return $filter_Result;
}

$searchquery = "SELECT Titel, Vorname, Name, Unternehmen, Gruppe FROM mitglieder"
$searchresult = filterTable($searchquery) or die("Tabelle kann nicht angezeigt werden");

echo json_encode($searchresult);

?>

看到当我 print_f 数组时,它们都构建相同,一个只是有更多条目

但是一旦我将硬编码数组替换为另一个数组,提交按钮就会继续加载。

最后,里面有一些德语单词。对不起那些。但它们非常简单:

标题 -> 标题

名字 -> 名字

姓名 -> 姓名

Unternehmen -> 公司

Personen -> Persons

有人知道怎么回事吗?

Picture with better readable arrays

编辑了我的代码,现在我知道了更多,但它仍然失败。您可以在旧代码所在的位置找到编辑后的 ​​JQuery 代码。

我把它转换成字符串。但我不确定我是否做对了,所以我喜欢一些反馈。我还添加了一个“错误”参数。它给出了“parsererror”和“SyntaxError:位置 1 的 JSON 中的意外标记 P”。我不知道在哪里或如何修复第二个问题,即使在谷歌搜索它的含义之后也不太理解第一个问题。有人知道吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com