,'btn_span_')" class="btn-custom-6ren">
gpt4 book ai didi

javascript - 响应ajax方法的innerHtml

转载 作者:行者123 更新时间:2023-11-28 02:28:03 26 4
gpt4 key购买 nike

我正在使用 ajax 将数据发送到 PHP 脚本并在我的数据库中设置查询。我的代码:

HTML 脚本:

<span id="btn_span_<?php echo $user_id ?>">
<?php if ($online == 1) { ?>
<button onclick="update_online(1,<?php echo $user_id; ?>,'btn_span_<?php echo $user_id ?>')" class="btn-custom-delete btn btn-status">is active</button>
<?php } elseif ($online == 0) { ?>
<button onclick="update_online(0,<?php echo $user_id; ?>,'btn_span_<?php echo $user_id ?>')" class="btn-custom-services btn btn-status">active
</button>
<?php } ?>
</span>

JAVASCRIPT 脚本:

function update_online(status, id, span_id) {
var settings = {
"async": true,
"crossDomain": true,
"url": "script_edit_status.php?status=" + status + '&id=' + id + '&span_id=' + span_id,
"method": "GET"
};

$.ajax(settings).done(function (response) {
var obj = JSON.parse(response);
var btn = document.getElementById(span_id);
if (obj.status == "1") {
btn.innerHTML = "<button onclick='update_online(1,obj.id,obj.span_id)' class='btn-custom-services btn btn-status'>active</button>";
} else if (obj.status == "0") {
btn.innerHTML = "<button onclick='update_online(0,obj.id,obj.span_id)' class='btn-custom-delete btn btn-status'>is active</button>";
}
});
}

PHP 脚本:

<?php
include_once "../db/connection.php";
$id = $_GET['id'];
$status = $_GET['status'];
$span_id = $_GET['span_id'];
try {
if ($status == 1) {
$sql_edit_status = "update api_user set online=0 where id='$id';";
} elseif ($status == 0) {
$sql_edit_status = "update api_user set online=1 where id='$id';";
}
$conn->query($sql_edit_status);


$status_arr = array(
"id" => $id,
"status" => $status,
"span_id" => $span_id
);

echo json_encode($status_arr);

} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;

第一次操作没问题,但是当我想点击按钮 第二次 consol 显示以下错误:

Uncaught ReferenceError: obj is not defined

错误是针对未正确发送方法的 innerHTML...
你能帮帮我吗?

最佳答案

btn.innerHTML = "<button onclick='update_online(0," + obj.id + "," + obj.span_id + ")' class='btn-custom-delete btn btn-status'>is active</button>";

关于javascript - 响应ajax方法的innerHtml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52687339/

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