我有这样的事情: (忽略代码的丑陋)。
<code><script type="text/javascript">
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4){
document.getElementsByTagName("html")[0].innerHTML = xmlhttp.responseText;
}
}
function send(){
xmlhttp.open("GET","search.php?term=" + "tom" + "&page=1", true);
xmlhttp.send();
}
</script>
</code>
制作对象,一旦页面加载,然后我单击输入按钮以触发“send()”方法 - 它不起作用:/
我必须创建一个页面,我可以使用AJAX动态更改页面。我有2个按钮
“&lt;&lt; ”返回一页
“&gt;&gt; ”要出去
所以,当我(假设)index.php
加载时,我想要加载2页(第1页和第1页),所以当我点击其中一个按钮时,它会显示页面内容(没有刷新页面。)
有人能帮助我吗? 附:抱歉我的英文。
谢谢! :)
编辑:当我做2个AJAX加载时(获取curPage-1和currentPage + 1)我如何存储内容以便以后可以访问它们(让我们说..警告,哈哈)。
不,它不起作用,即使是最简单的一个:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
function click() {
$("body").load("search.php");
}
</script>
</head>
<body>
<input type="button" value="Click Me!" onclick="click()"/>
</body>
</html>
<?php //search.php
echo "ajax!?";
?>
那我在这里错过了什么?
尝试在这里解释我的问题(再次):我有一个网页,其中有一个(比如说)10个项目的列表。一切都来自GET方法(能够直接从URL更改参数; ..?page = 4&amp; term = Star%20Wars)。有一个输入框(用于搜索)和“后退”和“前进”按钮(用于前后移动)。现在它的工作原理如下:寻找一本名为“星球大战”的书。我会被重定向到同一页面并且PHP开始(获得参数 - $ _GET ['page / term'])。 ..然后我有2个漂亮的变量:page = 2 term =“星球大战”显示第2页的项目。
..当按下“下一页”按钮时,AJAX将加载下一页,页面变量递增(页面= 3);所以我从第3页获取内容(整个HTML),然后显示数据,替换body元素或其他......
现在,这只是一个介绍,问题是:在我需要点击按钮之前,如何进行2次AJAX调用(将“onload”添加到body?)。如何存储2页的内容(第2页和第4页的内容;当前页为3时)和 当我真正点击按钮时,我不必等待页面加载(虽然页面永远不会刷新),我可以获得数据IMMEDIALITY。
页面加载时间长(+3秒),因为我正在使用外部API来显示项目。
希望我有道理..
对于奇怪的消息感到抱歉(一切看起来更好,发布之前,哈哈),当然还有 - 我的英语语法。
问候
编辑:
不,它不起作用,即使是最简单的一个:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
function click() {
$("body").load("search.php");
}
</script>
</head>
<body>
<input type="button" value="Click Me!" onclick="click()"/>
</body>
</html>
<?php //search.php
echo "ajax!?";
?>
那我在这里错过了什么?
尝试在这里解释我的问题(再次):我有一个网页,其中有一个(比如说)10个项目的列表。一切都来自GET方法(能够直接从URL更改参数; ..?page = 4&amp; term = Star%20Wars)。有一个输入框(用于搜索)和“后退”和“前进”按钮(用于前后移动)。现在它的工作原理如下:寻找一本名为“星球大战”的书。我会被重定向到同一页面并且PHP开始(获得参数 - $ _GET ['page / term'])。 ..然后我有2个漂亮的变量:page = 2 term =“星球大战”显示第2页的项目。
..当按下“下一页”按钮时,AJAX将加载下一页,页面变量递增(页面= 3);所以我从第3页获取内容(整个HTML),然后显示数据,替换body元素或其他......
现在,这只是一个介绍,问题是:在我需要点击按钮之前,如何进行2次AJAX调用(将“onload”添加到body?)。如何存储2页的内容(第2页和第4页的内容;当前页为3时)和 当我真正点击按钮时,我不必等待页面加载(虽然页面永远不会刷新),我可以获得数据IMMEDIALITY。
页面加载时间长(+3秒),因为我正在使用外部API来显示项目。
希望我有道理..
对于奇怪的消息感到抱歉(一切看起来更好,发布之前,哈哈),当然还有 - 我的英语语法。
问候
答案 0 :(得分:1)
我建议使用javascript框架(例如jQuery)来缓解ajax的一些复杂性。
使用jQuery,您可以执行以下操作:
<!-- index.html -->
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
function click() {
$("body").load("search.php?term=" + "tom" + "&page=1");
}
</script>
</head>
<body>
<input type="button" value="Click Me!" onclick="click()"/>
</body>
</html>
使用 search.php :
<?php
// search.php
echo "<b>This is loaded by ajax!</b>";
希望这能让你走上正轨。