GET 示例
<p>Enter customer ID: <input type='text' id='customerID' /></p>
<p><input type="button" value='Get Customer Info' onclick='requestCustomerInfo()' /></p>
<div id='rs'></div>
function requestCustomerInfo() {
var sID = document.getElementById('customerID').value;
var req = new Ajax.Request('getCustomerData.jsp', {
method: 'get',
parameters: 'id=' + sID,
onSuccess: function (oXHR, oJson) {
displayInfo("responseText: " + oXHR.responseText +
"statusText: " + oXHR.statusText);
},
onFailure: function (oXHR, oJson) {
displayInfo('An error occurred: ' + oXHR.statusText);
}
});
}
function displayInfo(sText) {
document.getElementById('rs').innerHTML = sText;
}
POST 示例
<!--这里的action没有参数哦~~-->
<form id='id_of_form_element' method='post' action='' onsubmit='sendRequest(); return false'>
name: <input type='text' name='name' /><br />
age: <input type='text' name='age' /><br />
<input type='submit' value='Save' />
</form>
<div id='rs'></div>
<script type="text/javascript">
//取得表单数据并编码
//name=apq&age=100
function getFormParams(oForm) {
var rs = [];
for (var i = 0, len = oForm.elements.length; i < len; i++) {
var oField = oForm.elements[i];
switch (oField.type) {
case "button": case "submit": case "reset": break;
case "radio": case "checkbox": if (!oField.checked) { break; }
case "text": case "hidden": case "password":
rs[rs.length] = addPostParam("", oField.name, oField.value);
break;
default:
switch (oField.tagName.toLowerCase()) {
case "select":
rs[rs.length] = addPostParam("", oField.name, oField.options[oField.selectedIndex].value);
break;
default:
rs[rs.length] = addPostParam("", oField.name, oField.value);
}
}
}
return rs.join("&");
}
function addPostParam(sParam, sKey, sValue) {
if (sParam.length > 0) sParam += "&";
return sParam + encodeURIComponent(sKey) + "=" + encodeURIComponent(sValue);
}
function displayInfo(txt) {
document.getElementById("rs").innerHTML = txt;
}
function sendRequest() {
//注意: 旧的prototype没有提供表单数据编码的方法, 所以这里要手动编下码
/*var sFormParam = getFormParams(document.forms[0]);
var req = new Ajax.Request('saveCustomerData.jsp', {
method: 'post',
parameters: sFormParam,
onSuccess: function (oXHR, oJson) {
displayInfo(oXHR.responseText);
},
onFailure: function (oXHR, oJson) {
displayInfo('An error occurred: ' + oXHR.statusText);
}
});*/
//哈哈,新的不用手动了
new Ajax.Request('saveCustomerData.jsp', {
method: 'post',
//取得表单数据并编码
parameters: $('id_of_form_element').serialize(true),
onSuccess: function (oXHR, oJson) {
displayInfo(oXHR.responseText);
},
onFailure: function (oXHR, oJson) {
displayInfo('An error occurred: ' + oXHR.statusText);
}
});
}
</script>
//应答器
Ajax.Responders.register({
onCreate: function (oXHR, oJson) {
document.getElementById('status').innerHTML = "服务器连接中...";
},
onComplete: function (oXHR, oJson) {
document.getElementById('status').innerHTML = "已收到响应";
}
});
或者这种方式也是自动编码的
new Ajax.Request('/some_url', { method: 'get', parameters: {company: 'example', limit: 12} });
function getRequestBody(oForm) {
var oParams = {};
for (var i = 0, len = oForm.elements.length; i < len; i++) {
var oField = oForm.elements[i];
switch (oField.type) {
case "button": case "submit": case "reset": break;
case "radio": case "checkbox":
if (!oField.checked) { break; }
case "text": case "hidden": case "password":
oParams[oField.name] = oField.value;
break;
default:
switch (oField.tagName.toLowerCase()) {
case "select":
oParams[oField.name] = oField.options[oField.selectedIndex].value;
break;
default:
oParams[oField.name] = oField.value;
}
}
}
return oParams;
}
function sendRequest() {
new Ajax.Request('saveCustomerData.jsp', {
method: 'post',
//取得表单数据并编码
parameters: getRequestBody(document.forms[0]),
onSuccess: function (oXHR, oJson) {
displayInfo(oXHR.responseText);
},
onFailure: function (oXHR, oJson) {
displayInfo('An error occurred: ' + oXHR.statusText);
}
});
}
分享到:
相关推荐
### Prototype的Ajax介绍 #### 一、Prototype框架与Ajax **Prototype** 是一款JavaScript库,其设计目的是为了简化客户端脚本编程。它提供了一系列高级功能,使得开发人员能够更加高效地构建动态网页应用。其中,*...
本示例将探讨如何使用Prototype库进行Ajax交互,通过`AjaxServlet.java`(一个Java后端处理程序)和`ajax2.jsp`(一个JSP页面,用于展示Ajax请求的结果)来实现这一功能。 首先,我们来看`AjaxServlet.java`。这是...
当我们谈论“prototype ajax提交大数据”时,我们指的是利用JavaScript的原型链特性来处理通过Ajax异步传输大量数据的问题。 Ajax,即Asynchronous JavaScript and XML,是一种在不刷新整个页面的情况下与服务器...
Prototype.js是JavaScript库,它为Web开发提供了许多实用的功能,特别是在...通过实际操作和调试这些示例,你将能够更好地理解和应用Prototype在现代Web开发中的强大功能,从而构建更加高效、用户体验优秀的Web应用。
这个“ajax示例java版本”应该是一个Java实现的Ajax应用,用于演示如何在后台处理和前端交互。 在Java中实现Ajax通常涉及到以下关键知识点: 1. **JavaScript库**:虽然Ajax的核心是JavaScript,但实际开发中我们...
Prototype是JavaScript库,它为浏览器环境提供了许多便利的功能,特别是在处理AJAX(异步JavaScript和XML)方面。...结合`ajaxPrototype.js`这样的示例文件,你可以更好地理解并实践Prototype的AJAX功能。
### Prototype对Ajax的支持 在Web开发领域中,Ajax(Asynchronous JavaScript and XML)技术的应用极大地提升了用户界面的交互性和响应速度。Prototype JavaScript框架作为一种简化JavaScript编程的工具,它内置了...
总结来说,"ajax示例(jbuilder 2006)"是一个利用Ajax技术实现异步刷新表格的项目,通过XML作为数据交换格式,结合JBuilder 2006的工具和框架,提升了Web应用的交互性和效率。开发者可以通过理解上述步骤和原理,...
"Onion的天空 » prototype中的ajax对象应用实例.files"可能是与这些文档相关的资源文件,可能包含示例代码或其他辅助材料。 学习Prototype和AJAX可以帮助开发者更高效地构建动态网页,提升用户体验。理解它们的...
本文将结合标题“jquery prototype dojo 之 Ajax example 和学习总结”以及描述,深入探讨jQuery、Prototype和Dojo这三种JavaScript库中的Ajax应用,以及相关的学习要点。 首先,jQuery是目前最流行的JavaScript库...
在给定的示例中,Prototype.js 简化了创建和管理Ajax请求的过程。首先,我们来看一下如何使用 Prototype.js 创建一个简单的Ajax请求: ```javascript function getnodelist() { function onSuccess(request) { ...
资源名称:Ajax实战: Prototype与scriptaculous篇内容简介:这是一本讲述 Prototype和 scriptaculous的实用性极强的综合指南。本书在简要介绍这两个库在宏观应用中的意义之后,再通过 QuickGallery图片...
总结来说,这个“Ajax分页模板示例”展示了如何利用Prototype框架和Ajax技术实现高效、流畅的分页功能。通过面向对象的设计,代码结构清晰,易于维护,同时也为其他项目提供了可复用的分页解决方案。对于希望提升...
- **库和框架**:可能包括一些流行的AJAX库,如jQuery、Prototype或axios,以及使用这些库的示例。 - **服务器端接口**:为了演示AJAX,可能还包括一些简单的服务器端脚本,如PHP、Python或Node.js,它们提供AJAX...
本示例着重讲解如何在SSI环境下利用Ajax和prototype.js库来执行增删改查操作。以下是对这些技术及其应用的详细阐述: 首先,SSI(Server Side Includes)是一种简单的服务器端脚本语言,它允许开发者在HTML文件中...
在本示例中,我们使用的是一种JavaScript库——Prototype,它为JavaScript提供了许多实用的工具和功能,包括对Ajax的优雅封装。Prototype简化了Ajax操作,使得开发者可以更方便地与服务器进行异步数据交互。 ...
在JSP页面中,使用AJAX时可能涉及到的JavaScript库有jQuery、Prototype、Dojo等,它们提供了更方便的API来处理AJAX请求。例如,jQuery的`$.ajax()`或`$.get()`、`$.post()`方法简化了AJAX操作。 在压缩包中的"Ajax...
【标题】"基于ASP的基于Prototype的Ajax无刷新登录实例"揭示了这个压缩包内容是关于使用经典ASP(Active Server Pages)技术与Prototype JavaScript库相结合,实现一个无刷新登录功能的示例。在这个实例中,重点是...
从标签"prototype"我们可以推断,该压缩包内的内容可能包含使用Prototype库进行Ajax开发的相关示例和练习。 压缩包子文件的文件名列表中,我们看到的都是一些可能的项目文件或者章节相关的代码示例: 1. `...
Prototype是JavaScript库,它为浏览器环境提供了强大的对象扩展和功能,尤其在处理DOM(文档对象模型)和Ajax交互时。这个压缩包包含了Prototype库的多个版本的手册和源代码文件,便于开发者理解和使用。 首先,...