JAVA学习网首页 把生活查询网加入收藏 把JAVA学习网设为首页 联系方式
    Hi,JAVA学习
JAVA基础 设计模式 数据库 JavaBeans J2EE JavaDelphi 用户界面 综合文章  
AJaX for weblogs
时间:22/04/2007
作者:网络
来源:网络
小提示点这里把文章加入您的收藏夹,方便下次查看
设置文章字体大小:[ ]

转:Ajax  for  weblogs

The Asynchronous JavaScript + XML (AJaX) solution is one that can bring happiness and bliss to web designers and web developers alike. However, as with many whiz-bang solutions caution is advised. Google uses it to great effect but personally I think they take it a bit too far. If a page change so much that its context changes then it have switched to a new URI. People often bookmark specific content that’s within a specific context. As soon as this is no longer true it maybe a clue that you’ve gone to far.

The first thing I notice that the solutions is aimed at the heavier web applications. Not surprising. Web applications suffer from constraints that web clients impose on them. This solution gives them a way to check for dynamic content without reloading the current page.

So what does it do? 

Well it’s very simple. It uses Javascript to get data from a remote source and then loads that into a specified target. Whatever content you like to wherever you like on the page.
Jesse James Garrett of Adaptive Path has written an essay that covers the basics and provides more information on AJaX.

But lets get this sucker running, that’s the fun bit. And it’s pretty easy.


Step 1

Check if your web client can actually handle the http requests. We’ll need to use a Javascipt to do this.

var ajax=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
ajax = false;
}
}
@end @*/
if (!ajax && typeof XMLHttpRequest!=’undefined’) {
ajax = new XMLHttpRequest();
}


Step 2

Add the script that will pick up your data. In this case I’m not picking up XML data. But the weblog of your choice and in my case it’s ExpressionEngine will return the xHTML Which in turn will be inserted via the javascript innerHTML methode.

function getMyHTML(serverPage, objID) {
if((serverPage.indexOf("http://www.yourdomain.com/")!=0)) return;
var obj = document.getElementById(objID);
ajax.open("GET", serverPage);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200) {
obj.innerHTML = ajax.responseText;
}
}
ajax.send(null);
}


Step 3

The page that will display the dynamic content will need a placeholder element (tag) with a unique ID. The ID attribute will be used in the second script as a reference point to allow for insertion of the new dynamic content.

<html>
<head>
<title>AJaX test</title>
</head>
<body onload="getMyHTML(’serverpage.php’,’placeholder’)">
<div id="placeholder">
<p>The ‘getMyHTML’ script will overwrite
this paragraph.</p>
</div>
</body>
</html>

This URI in the ‘onload’ is the one which will generate the content.


Step 4

The dynamic bit is parsed by the engine of your choice like; Moveable Type, Expression Engine, Word Press etc. Of course you can use any other method of collecting content form a database.

In Expression Engine I’m calling a template that collects the data for my calendar. The whole calendar is outputted as HTML and inserted via the script.

Lets say the URI is ‘http://www.yourdomain.com/tempate/pageid/’
This could in fact be a PHP file or any other serverside script solution. The page only needs to return html. Here is an example in PHP.

<?php
echo '<p>this is a php echo text</p>';
?>

And that’s about it. It’s all pretty old school but there you have it.


上一篇:SWT/JFace开发入门指南(七)

下一篇:Java异常处理--不要忽略或遮掩异常

  • Java入门笔记1_HelloWorld
  • 用 J2ME 进行联网
  • JDBC2.0扩展API(1)
  • JSF与。NET可视化工具
  • Java变量类型间的相互转换
  • 基于容器的用户安全管理系统和JMS(7)
  • 为JEdit设置墙纸(add wallpaper for jedit)
  • JDO资源介绍 - 我在JDBC、JDO版上任的宣言
  • weblogic.jar和Tomcat5.5中的servlet-api.jar也有包冲突!
  • Java2实用教程(第2版)(清华版)
  • 用Web Services开发一个决策支持系统
  • 破除java神话之二:参数是传址的(翻译)
  • GoF 23种模式
  • 关于JAVA中连接各类数据库的代码及其补充说明
  • FOP(PDF与JAVA)
  • 一个Jsp初学者的学习过程(一)
  • 设置菜单快捷键
  • lomboz 3.0.1 中启动tomcat的问题
  • 返回】 【顶部】 【关闭
    Copyright © 2005-2010 www.594k.com All Rights Reserved.
    版权所有:JAVA学习网 备案序号:皖ICP备06004238号