我想我问的问题对你们大多数人来说都很简单。我想重新加载 div 而不重新加载整个页面。最好的方法是什么?
<div class="black_text" id="cp_in_content_div">
<?php
$id = $_GET["id"];
$result = mysql_query("SELECT * FROM Setting WHERE ID = $id");
$row = mysql_fetch_array($result);
switch ($_GET["action"])
{
case "delete":
if (!unlink("$_SERVER[DOCUMENT_ROOT]setting/$row[Filename]"))
{
echo "Error.";
header("Refresh: 2.5; URL=delete_setting.php?id=$id");
exit();
}
if (!mysql_query("DELETE FROM Setting WHERE ID = $id"))
{
echo "Error.";
header("Refresh: 2.5; URL=delete_setting.php?id=$id");
exit();
}
else
{
echo "Ok!";
header("Refresh: 1.25; URL=index.php");
}
break;
default:
echo "form";
}
?>
</div>
我需要这些 header("Refresh:...") 来仅重新加载 div 而不是页面。
jQuery.load() 可能是使用选择器异步加载数据的最简单方法,但您也可以使用任何 jquery ajax 方法(get、post、getJSON、ajax 等)
请注意,load 允许您使用选择器来指定要加载已加载脚本的哪一部分,如
$("#mydiv").load(location.href + " #mydiv");
请注意,从技术上讲,这确实会加载整个页面,并且 jquery 会删除除您选择的内容之外的所有内容,但这都是在内部完成的。
$("#div_element").load('script.php');
演示:http://sandbox.phpcode.eu/g/2ecbe/3
完整代码:
<div id="submit">ajax</div>
<div id="div_element"></div>
<script>
$('#submit').click(function(event){
$("#div_element").load('script.php?html=some_arguments');
});
</script>
用这个。
$('#mydiv').load(document.URL + ' #mydiv');
注意,在标签前添加一个空格。
编写按钮标签和点击功能
var x = document.getElementById('codeRefer').innerHTML;
document.getElementById('codeRefer').innerHTML = x;
将这一切都写在 onclick 函数中
base.reloadData('#task_list')
var base = {
reloadData : function(division){
$.get(location.href, function(data) {
$(`${division}`).html($(data).find(`${division}`).html());
});
}
}