与web服务器通信的XMLHttpRequest
来源:互联网 发布:编程求一百以内的质数 编辑:程序博客网 时间:2024/06/06 02:54
实现网页与web服务器直接对话的关键是XMLHttpRequest。XMLHttpRequest非常适合从服务器上获取数据,下面是一些地方主要的用途
1.保存在服务器上面的数据
2.通过服务器完成复杂的计算
3.从其他服务器获取数据(这里主要是通过XMLHttpRequest请求,让自己的服务器从其他服务器上获取数据)
主要采用php作为后台语言编写,test.php的代码如下:
<?php$num1 = $_GET['num1'];$num2 = $_GET['num2'];$num = $num1 + $num2;echo $num;?>
这个代码有些简单,就不多做介绍,没有学过php的这一块就不要管了,比较想要测试自己还要去搭建服务器什么的。下面我们来看一下js脚本的主要代码:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><div><input id="num1" type="text"><input id="num2" type="text"><button id="add">求和</button></div><div><output id="result"></output></div><script type="text/javascript">var req;window.onload=function(){var oAdd = document.getElementById("add");oAdd.onclick=function(){req = new XMLHttpRequest();var oNum1 = document.getElementById("num1");var oNum2 = document.getElementById("num2");var dataToSend = "?num1="+oNum1.value+"&num2="+oNum2.value;// 提交方式,请求目标,表示浏览器是否是异步传输// 同步传输就是等到服务器响应以后再执行,这样可能导致网页崩溃req.open("GET","server.php"+dataToSend,true);req.onreadystatechange=handleServerResponse;req.send();document.getElementById("result").innerHTML = "the request has been send";}function handleServerResponse(){// readyState// 1表示请求已经完毕// 2请求已经发送// 3已经收到部分响应// 4请求响应完成// status// 401表示不允许被访问// 404没有找到// 302已经移动// 503服务器繁忙if((req.readyState == 4)&&(req.status==200)){var result = req.responseText;document.getElementById("result").innerHTML ="the answer is:" + result;}}}</script></body></html>
上面只是一个简单的加法操作,只是说明用法,但是却并不实用。毕竟没有哪位为了计算一个简单的加法运算,放在服务器上去。
下面是通过post的方式传值,通过实现登录功能测试,前端js代码如下:
var req = new XMLHttpRequest()var data// 其中这里的username和password就是获取的用户填写的内容data = "username"+this.username+"&password"+this.password// 我们提交到server.php这个页面进行处理req.open("POST","server.php",true)req.onreadystatechange = function(){if((req.readyState == 4)&&(req.status==200)){var result = req.responseText// 如果是1,那么就成功.如果失败,那么就返回0if(result == 1){// 成功需要什么操作这里在这里写}else{alert('失败')}}}// 这里主要是一些请求协议req.setRequestHeader("Content-type","application/x-www-form-urlencoded")req.send(data)
服务器的代码如下:
<?php$username = $_POST['username'];$password = $_POST['password'];if($username == 'admin' && $password == '123456'){// 如果是1,那么就代表成功echo 1;}else{echo 0;}
关于服务器的处理,显得比较简单,因为这里的重点是对于ajax传值的总结
阅读全文
0 0
- 与web服务器通信的XMLHttpRequest
- Ajax获取XmlHttpRequest对象的方法,兼容IE、火狐。用来与服务器进行通信。
- 如何是使用XMLHttpRequest对象实现与服务器之间的通信
- web客户端与服务器实时通信的方法
- 如何理解浏览器与web服务器的通信
- Android手机客户端与Web服务器的通信
- XMLHttpRequest对象来和服务器进行通信
- Android与服务器的通信
- 浏览器与服务器的通信
- 【无法在web服务器上启动调试。与Web服务器通信时出现身份验证错误】的解决方案
- Android与web服务器数据交互编程---2-如何实现手机与web的通信---server实现
- QTE下通过Http协议以同步方式与Web服务器通信的实现
- HTML5-桌面式web应用-与web服务器通信( XHR, 服务器发送事件, Web Socket:)
- 使用Socket API如何与WEB服务器通信
- 使用Socket API如何与WEB服务器通信
- android利用post方式与web服务器通信
- SignalR 实现 Web 客户端与服务器实时通信
- jQuery框架问题:ajax与web服务器通信
- OSS上传图片 java
- oracle动态监听和静态监听
- mysql修改root密码方法汇总
- link属性
- 51 nod 1183 编辑距离(动态规划)
- 与web服务器通信的XMLHttpRequest
- python time.sleep(t) t为秒
- [jQuery]jQuery选择元素的使用方法与示例
- 编码GBK的不可映射字符
- 第二章:2.6 使用 runserver 命令把项目运行起来
- scope的绑定策略
- 大数据人才未来发展就业前景
- 手把手教你如何开始一个angular模块
- linux( ubuntu14.04) 断网了 unknown host的解决办法