get和post是http请求方法最主要的两种方式。

get:

先实现一个简单的get请求

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Document</title>
</head>
<body>
<input type="button" id="submit" value="submit">
<div id="txt"></div>
<script>
/*对象监听*/
document.getElementById("submit").onclick = function(){
get("example.php?name=fuduji&age=23",function(data){
document.getElementById("txt").innerHTML = data;//请求成功则执行此操作
},true)
}
/*简单的一个get函数封装*/
function get(url,callback,async){//3个参数,url表示请求地址,async表示是否异步,callback表示一个回调函数
var xhr = new XMLHttpRequest();
var url = urlParam(url); //编码
async = async ? async : true;//是否异步
xhr.onreadystatechange = function(){
if(xhr.readyState ==4){
callback(xhr.responseText); //回调
}
}
xhr.open("get",url,async);
xhr.send(null);
}
/*对请求的url进行uri组件编码*/
function urlParam(url){
var arr = url.split("?");
var location = arr[0];
var uri = arr[1];
var arr1 = uri.split("&");
for(var i =0; i<arr1.length; i++){
var arr2 = arr1[i].split("=");
var name = encodeURIComponent(arr2[0]);
var value = encodeURIComponent(arr2[1]);
arr1[i] = name + "=" + value;
}
uri = arr1.join("&");
arr = location + "?" + uri;
return arr;
}
</script>
</body>
</html>

example.php

<?php
echo 'hello '.$_GET['name'].',your age is '.$_GET['age'];
?>

说明一下:get参数中,url是必须进行正确编码(encodeURIComponent),get请求经常出错就在这个地方,还有一个问题是缓存问题,如果请求页面被设置缓存,而你不想要缓存,可以在urlParam返回值中加上Math.random()用来告诉服务器,这是不同的请求;另外一个参数是设置是否异步,一般而言是必须设置为异步的,同步会阻塞js执行或者页面渲染,在本示例中可能无法看出来。

ajax的get请求的更多相关文章

  1. Laravel中的ajax跨域请求

    最近接触Laravel框架ajax跨域请求的过程中遇到一些问题,在这里做下总结. 一开始发起ajax请求一直报500错误,搜索相关资料后发现Laravel要允许跨域请求可以加入Cors中间件,代码如下 ...

  2. 浅谈linux 下,利用Nginx服务器代理实现ajax跨域请求。

    ajax跨域请求对于前端开发者几乎在任何一个项目中都会用到,众所周知,跨域请求有三种方式: jsonp; XHR2 代理: jsonp: 这种应该是开发中是使用的最多的,最常见的跨域请求方法,其实aj ...

  3. 模拟ajax的 script请求

    /** * 模拟ajax的 script请求 * @param {[type]} options [description] * @return {[type]} [description] */ f ...

  4. 解决ajax跨域请求 (总结)

    ajax跨域请求,目前已用几种方法实现:   1)用原生js的xhr对象实现.                var url="http://freegeoip.net/json/" ...

  5. ASP.NET MVC 实现AJAX跨域请求方法《1》

    ASP.NET MVC 实现AJAX跨域请求的两种方法 通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据 ...

  6. $.ajax 跨域请求 Web Api

    WepApi确实方便好用,没有配置文件,一个apicontroller直接可以干活了.但今天用$.ajax跨域请求的时候总是获取不到数据,用fiddler一看确实抓到了数据,但回到$.ajax函数中, ...

  7. JQuery的Ajax跨域请求原理概述及实例

    今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuer ...

  8. Nginx 实现AJAX跨域请求

    在工作中遇到跨域请求的问题: AJAX从一个域请求另一个域会有跨域的问题.那么如何在nginx上实现ajax跨域请求呢?要在nginx上启用跨域请求,需要添加add_header Access-Con ...

  9. jQuery ajax跨域请求的解决方法

    在Ajax应用中,jQuery的Ajax请求是非常容易而且方便的,但是初学者经常会犯一个错误,那就是Ajax请求的url不是本地或者同一个服务器下面的URI,最后导致虽然请求200,但是不会返回任何数 ...

  10. php中ajax跨域请求---小记

    php中ajax跨域请求---小记   前端时间,遇到的一个问题,情况大约是这样: 原来的写法: 前端js文件中: $.ajax({ type:'get', url:'http://wan.xxx.c ...

随机推荐

  1. Facebook 网页应用图文设置教程

    最近在弄一个项目,需要使用Facebook进行登陆并且获取用户Facebook相关的数据.网上查找有关Facebook应用设置教程,中文资料中,要么介绍的是N版之前的API,要么是App端的教程.Fa ...

  2. Properties类读写.properties配置文件

    package com.hzk.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFo ...

  3. SQL Mirroring[Hot back up with Double machine]

    Background: It's fairly common for businesses to want to provide some high availability for their SQ ...

  4. asp.net下cookie 的基础使用

    cookie作为在B/S开发中经常被使用到的东西,asp.net必然提供了现成的东西给我们使用. 就是这个对象:HttpCookie,当然了,对于asp.net来说,Request和Response中 ...

  5. 【C语言的日常实践(八)】弦

    串数据类型是一个重要的,但C有没有明确的语言字符串数据类型.头文件string.h它包括大多数字符串处理函数. 故,有操作的串.通常包括string.h头文件. 1.字符串的长度:对字符串进行的操作中 ...

  6. 基于PHP的crontab定时任务管理

    BY JENNER · 2014年11月10日· 阅读次数:6 linux的crontab一直是server运维.业务开展的利器.但当定时任务增多时,管理和迁移都变得非常麻烦,并且easy出问题.以下 ...

  7. freemarker定义自己的标签错误(一)

    freemarker定义自己的标记 1.错误描写叙述 freemarker.core.ParseException: Token manager error: freemarker.core.Toke ...

  8. 3 sum

    3-sum 标题叙述性说明: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = ...

  9. 采用 HTML5 File API 达到client log

    http://www.ibm.com/developerworks/cn/web/1210_jiangjj_html5log/ 版权声明:本文博主原创文章,博客,未经同意不得转载.

  10. Unity该插件NGUI学习(1)—— 环境结构

    Unity官方网站http://unity3d.com/unity/download下载最新版本4.5.4 发现在神圣的论坛裂纹(Windows)版本号http://game.ceeger.com/f ...