Ajax技术get方式请求细节二

ajax对象get案例分析


<!DOCTYPE html

PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>

<head>

<title>simple document</title>

<meta charset="UTF-8">

<script type="text/javascript">

function checkname(){

var nm=document.getElementById('username').value;

//建立Ajax对象

var xhr=new XMLHttpRequest();

//创建一个新的http请求,并设置请求的一个服务器端的地址,

//对象.open(请求方式get/post方式,url地址);

xhr.onreadystatechange=function(){

//获得readyState状态变化信息

//console.log(xhr.readyState);

//要随时感知ajax的变化

/*onreadystatechange是ajax的一个事件,在readyState状态发生变化的时候被触发,

为了感知最多的状态信息,要设置在对象创建完毕之后*/

if(xhr.readyState==4){

alert(xhr.responseText);

//document.getElementById('result').innerHTML=xhr.responseText;

}

}

xhr.open('GET','./ajax_04.php?name='+nm);

//发送http请求

xhr.send(null);

}

</script>

<style type="text/css"></style>

</head>

<body>

<h2>get请求(ajax用户校验)</h2>

用户名:<input type="text"  id="username" onblur="checkname()"/>

<div id="result"></div>

</body>

</html>


写入后端代码:

<?php

//服务端用户名校验

$exists_name=array('mary','jack','linken','bier');

//输出客户端传递过来的用户名信息

print_r($_GET);

?>


ajax之get方式请求

ajax之get请求需要注意的地方:

在url地址后边以请求字符串(传递的get参数信息)形式传递数据。

对中文,=,&等特殊符号处理

对特殊信息的处理

在浏览器里通过get参数传递一些特殊符号信息会被误解混淆,例如& =等,浏览器会把这样的信息当做get参数的一部分而进行一个错误的解析.

代码如下:

html代码:

<!DOCTYPE html

PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>

<head>

<title>simple document</title>

<meta charset="UTF-8">

<script type="text/javascript">

function checkname(){

var nm=document.getElementById('username').value;

nm=encodeURIComponent(nm);

//建立Ajax对象

var xhr=new XMLHttpRequest();

//创建一个新的http请求,并设置请求的一个服务器端的地址,

//对象.open(请求方式get/post方式,url地址);

xhr.onreadystatechange=function(){

//获得readyState状态变化信息

//console.log(xhr.readyState);

//要随时感知ajax的变化

/*onreadystatechange是ajax的一个事件,在readyState状态发生变化的时候被触发,

为了感知最多的状态信息,要设置在对象创建完毕之后*/

if(xhr.readyState==4){

alert(xhr.responseText);

//document.getElementById('result').innerHTML=xhr.responseText;

}

}

xhr.open('GET','./ajax_04.php?name='+nm+'&age=20');

//发送http请求

xhr.send(null);

}

</script>

<style type="text/css"></style>

</head>

<body>

<h2>get请求(ajax用户校验)</h2>

用户名:<input type="text"  id="username" onblur="checkname()"/>

<div id="result"></div>

</body>

</html>

php代码:

<?php

//服务端用户名校验

$exists_name=array('mary','jack','linken','bier');

//输出客户端传递过来的用户名信息

$name=$_GET['name'];

//判断用户输入名字是否存在

print_r($_GET);

//if(in_array($name,$exists_name)){

//echo  "用户名已经占用";

//}else{

//echo '恭喜,可以使用';

//}

?>

对特殊符号进行处理

&---%26

例2   对url编码案例

http://localhost:8989/php/Ajax/ajax_04.php?kemu=javascript%26php%3Dhtml

<?php

//对服务器端请求的同时传递get参数的信息

$subject="javascript&php=html";

$subject=urlencode($subject);

echo "<a href='./ajax_04.php?kemu=$subject'>itcast</a>";

?>


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 29,000评论 1 45
  • 面试题:ajax可以接收哪些信息? 答:浏览器可以接收的信息ajax都可以接收例如 字符串,html标签 css样...
    周行知阅读 747评论 0 6
  •   2005 年,Jesse James Garrett 发表了一篇在线文章,题为“Ajax: A new App...
    霜天晓阅读 945评论 0 1
  • 问题 1. ajax 是什么?有什么作用? Ajax是Asynchronous JavaScript and XM...
    爱上帘外修竹阅读 463评论 0 0
  • AJAX 原生js操作ajax 1.创建XMLHttpRequest对象 var xhr = new XMLHtt...
    碧玉含香阅读 3,606评论 0 7

友情链接更多精彩内容