gpt4 book ai didi

php - 通过AJAX、PHP和MySQL系统地更新页面

转载 作者:行者123 更新时间:2023-11-29 21:58:59 24 4
gpt4 key购买 nike

我正在尝试根据用户输入系统地更新表“LUpdTbl”的innerhtml,但我似乎无法解析最后返回的JSON数据。我保证我一直在研究这个问题,并且我确信这很简单,只是我没有看到它。

大部分应用程序都已完成,除了我非常想向最终用户展示的这一功能:用户将在页面上进行选择,这些选择应显示在下表的 innhtml 中,以便他们可以更改数量等。不起作用的部分如下:

-> SQL 查询是根据他们正在查看的用户和工单系统生成的。

var LID = group + WO; //Values obtained from another source
var SQL = "SELECT * FROM Table1 WHERE ID LIKE '" + LID + "%';";

-> SQL语句被传递到SQLGet.php;

$.ajax({ url: 'SQLGet.php',
type: 'post',
dataType: 'json',
data: {SQL: SQL},
success: function(data) {
result = JSON.stringify(data);
console.debug(result);
} });

-> SQLGet.php 返回 JSON 结果

$SQL = $_POST['SQL'];
try {
$result = $mysqli->query($SQL);
} catch(Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}

$num_rows = $result->num_rows;
$rows = array();
while($row = $result->fetch_assoc()){
$rows[] = $row;
}
/*I started trying to recreate the multidimensional array before I use JSON.encode but that doesn't seem to make a difference*/
if ($num_rows > 0) {
//====================================================
// Store results to php variables
//====================================================
$LID = Array();
//...Rest of array removed for berevity

for($luN=0; $luN < $num_rows; $luN++){
$LID[$luN] = $rows[$luN]['ID'];
//... rest of array removed for berevity
}

for($al=0; $al < $num_rows; $al++){
$NLArray['ID'][$al] = $LID[$al];
//... rest of array removed for berevity
}
}
$post_data = json_encode(NLArray);
echo $post_data;
/*I also tried the following instead as well as other options that I've found*/
//echo 'var NLArray = '.json_encode($NLArray).';';

最终,如果我能以可用的格式将结果返回给 javascript,我就可以更新 insidehtml,但我要么得到一个不是数组的对象,要么出现意外的标记错误。我尝试过 $.map 但我得到一大串看起来像函数的东西,但实际上没有任何类似于数组的东西。

最佳答案

这可能是因为您没有输出正确的 Content-Type。当您需要在服务器端执行 ajax 操作时,请尝试添加以下内容:

header('Content-Type: application/json');

此外,我认为您不需要 JSON.stringify() 调用,因为这会将您的 json 响应转换为字符串(如果您想使用 json 对象,则必须再次解析该字符串)

关于php - 通过AJAX、PHP和MySQL系统地更新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32851513/

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