ajax提交返回html页面,WEB前端——JS实现ajax异步提交,及返回处理(含js动态生成网页元素《实例》)...

JS实现ajax异步提交

对于文件的上传建议使用iframe来模拟ajax的异步提交,还有参数较多不想拼接的时候。当然可以使用Jquery提供的方法来进行处理。

var XMLHttpReq; //创建XMLHttpRequest对象

//发送请求函数

function ajaxDiffMovie(obj) {

//对点击事件的js响应,如选中状态,提示刷新等进行设置。

createXMLHttpRequest(); //调用下面函数创建一个XMLHttpRequest对象(全局变量)

var url = "/graduation_project/ajax/Index?kind="+obj.innerText; //设置需要请求的URL

XMLHttpReq.open("GET", url, true); //发送请求

XMLHttpReq.onreadystatechange = processResponse;//指定响应函数

XMLHttpReq.send(null); // 发送请求,只有POST方法是send()方法的参数才有意义

}

//创建一个XMLHttpRequest对象保存在全局变量XMLHttpReq中

function createXMLHttpRequest() {

if(window.XMLHttpRequest) { //Mozilla 浏览器

XMLHttpReq = new XMLHttpRequest();

}

else if (window.ActiveXObject) { // IE浏览器

try {

XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e) {}

}

}

}

// 处理返回信息函数

function processResponse() {

if (XMLHttpReq.readyState == 4) { // 判断对象状态

if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息

DisplayHot(); //处理返回信息

//在返回信息处理完成后执行一些操作,比如更改刷新状态

setTimeout("sendRequest()", 1000);

} else { //页面不正常

window.alert("您所请求的页面有异常。");

}

}

}

//将内容显示到页面待处理(这里用js生成内容)

function DisplayHot() {

var resx=XMLHttpReq.responseXML; //获取返回的XML的根节点,然后继续进行处理...

//XMLHttpReq.responseText; //获取返回的一个字符串...然后进行后续操作

}

对于post方法将个参数拼接后作为send的参数

var data = "name=" + document.getElementById("staffName").value

+ "&sex=" + document.getElementById("staffSex").value

+ "&job=" + document.getElementById("staffJob").value;

XMLHttpReq.send(data);

js对返回的XML或字符串进行处理

resx.getElementsByTagName("oneMovie")[0]; //通过标签获取第一个标签为oneMovie的XML结点

node.children[0].firstChild.nodeValue; //获取node的第一个孩子内的文本信息

node.length //获得结点的个数

js生成HTML结点

document.createElement("li"); //创建一个DOM结点

node.setAttribute("id","hotmovie"+i); //设置属性id node.setAttribute("data-title",name); //设置属性data-title(自定义属性)

node.className="ui-slide-item" ; //设置class属性

node.innerHTML=name; //设置结点内的HTML信息

node.οnmοuseοver= function remoover() {//添加事件!

mouseover(this);//这里设置的id为什么是固定的

};

fatherNode.appendChild(node); //将node结点添加到fatherNode下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ajax (Asynchronous JavaScript and XML) 是一种在不刷新整个页面的情况下,使用 JavaScript 发起异步请求,获取或提交数据的技术。原生 Ajax 是指不依赖任何 JavaScript 框架或库,纯粹使用原生 JavaScript 实现 Ajax。下面是一个使用原生 Ajax 进行提交实例详解。 首先需要创建一个 XMLHttpRequest 对象: ``` var xmlhttp; if (window.XMLHttpRequest) { // IE7+、Firefox、Chrome、Opera、Safari 浏览器执行代码 xmlhttp = new XMLHttpRequest(); } else { // IE6、IE5 浏览器执行代码 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } ``` 然后设置请求方式和请求地址: ``` var url = "submit.php"; // 提交处理程序 var method = "POST"; // 提交的方式,可以是 GET 或 POST xmlhttp.open(method, url, true); // true 表示异步请求 ``` 接着设置请求头: ``` xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ``` 这里使用了 application/x-www-form-urlencoded 格式。如果需要提交 JSON 格式的数据,则设置为: ``` xmlhttp.setRequestHeader("Content-type", "application/json"); ``` 接下来设置回调函数: ``` xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { // 请求成功,处理返回的数据 console.log(this.responseText); } }; ``` 当 readyState == 4 时,表示请求已完成;status == 200 表示请求成功。这里只是简单地输出了返回的数据,可以根据具体情况进行处理。 最后发送请求,提交数据: ``` var data = "name=John&age=18"; // 提交的数据,可以是表单数据或 JSON 数据 xmlhttp.send(data); ``` 这里提交了两个字段,name 和 age,可以根据实际情况修改。当使用 GET 方式提交时,数据需要拼接到 URL 中,例如: ``` var url = "submit.php?name=John&age=18"; xmlhttp.open("GET", url, true); xmlhttp.send(); ``` 以上就是使用原生 Ajax 进行提交实例详解。需要注意的是,原生 Ajax 还需要处理一些兼容性和安全性问题,例如 IE6、7 下不能并发多个 Ajax 请求,跨域请求需要使用 JSONP 或设置 CORS 等。因此,如果条件允许,建议使用现代的 JavaScript 框架或库来简化 Ajax 的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值