作者shadowjohn (3WA问题解决专家)
看板PHP
标题Re: [请益] 使用php include用来只更新网页的一部份
时间Wed Jan 19 20:08:39 2011
※ 引述《jeffreyshe (jeffrey)》之铭言:
: 之前都是用ajax做这个功能
: 也就是类似点选一个连结 只改变一个地方的内容
: 刚刚看到似乎用php include也能做到
: 这部份请问该如何实作呢?
: 有简单的code更好
: 感谢..
把 include 想成该呼叫的地方会挂入网页或php的程式码即可
# file index.php
<html>
<head>
<script...>
function dosomething(id){
//检查id值合法性
...
var tmp=myASyncAjax(
"ajax.php?mode=改变need_change的内容",
"id="+id
);
//$("
#need_change").html(tmp);
//replaceHtml('need_change',tmp);
//
http://blog.stevenlevithan.com/archives/faster-than-innerhtml
document.getElementById('need_change').innerHTML=tmp;
}
</script>
</head>
<body>
<div id="need_change"></div>
<input type="button" onClik="dosomething(5);" value="按钮">
<a href="javascript:;" onClick="dosomething(5);">连结</a>
</body>
</html>
# 说明~我写的这支 myASyncAjax 是作「非同步」的 ajax 呼叫
# 第一个参数是 网址+GET值,第二个参数是 POST值
# 当然也可以用 同步 的 ajax 呼叫 mySyncAjax
# 也许就改成...
# mySyncAjax("ajax.php?mode=改变need_change的内容","id="+id,"need_change");
# 前二个参数同之前,多一个传入要变的 tag id 就好
# 让非同步直接去改变 div 的内容
# file ajax.php
# 使用ajax,我记得前面要有 header ↓ 题外话了...
# @header("Content-Type: text/html; charset=utf-8");
<?
include 'config.php'; //设定值档
include 'conn.php'; //使用资料库连线资料
include 'include.php'; //使用常用函式库
include '检查权限.php'; //可放在这,也可以放在下面 case 作判断
//当然上面几个 include 也是可以看状况放就好了
switch($_GET['mode'])
{
case '改变need_change的内容': //别用中文就是了,纯是为了写范例时易读
//载入 POST 值 id
$id= 载入POST['id']; // $_POST['id'];
//检查 数值合法性
...
include 'template/need_change.php';
//此时你可以用 include
//就不用把 ajax.php 一堆功能作的烙烙长
exit();
break;
case '其他的 ajax case':
break;
}
?>
--
3WA训练家的工作室
宗旨:诸葛单中,谢谢
个人布弱格 网址:
http://3wa.tw
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.240.83.12
1F:推 jeffreyshe:感谢! 01/19 20:54
2F:推 JoeHorn:$("#need_change") 这个 selector 似乎用 jQuery.. 是吗? 01/20 00:40
3F:→ JoeHorn:如果用 jQuery,请直接呼叫 .load() 01/20 00:41
4F:→ shadowjohn:原来如此,下次用看看 01/20 05:07
※ 编辑: shadowjohn 来自: 123.240.83.12 (01/20 05:12)