AJAX的一个简单实例,跨域的解决,使用JQuery来进行ajax的调用

1.什么是AJAX

ajax(Asynchronous Javascript And XML),中文名为异步的js和xml。可以在不刷新网页的情况下与后台服务器进行通讯,加强用户的体验感。是目前广泛使用的前端技术,下面将用原生js和JQuery来介绍一个简单的ajax实例。

2.一个简单的AJAX实例

get请求
// 采用原生的js代码(get请求)
//1.实例化XMLHttpRequest对象
var request = new XMLHttpRequest(); 
//2.调用open方法,第一个参数为请求方式(get、post),第二个参数为请求地址,第三个参数为异步或者同步
 request.open("GET", "请求url"true);
 //3.发送请求
 request.send();
 //4.监听服务器响应数据
 request.onreadystatechange = function () {
            if (request.readyState === 4) {
                if (request.status === 200) {
                    console.log(request.responseText);//打印服务器响应的数据
                }else {
                    alert("错误");
                }
            }
        }
post请求,注意post请求必须添加响应头
// 采用原生的js代码(post请求)
//1.实例化XMLHttpRequest对象
var request = new XMLHttpRequest(); 
//2.调用open方法,第一个参数为请求方式(get、post),第二个参数为请求地址,第三个参数为异步或者同步
 request.open("POST", "请求url"true);
 //3.准备数据
 var data = ['key' = 'value'];
 //4.设置响应头,注意post请求必须添加响应头
 request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 //5.发送请求
 request.send(data);
 //6.监听服务器响应数据
 request.onreadystatechange = function () {
            if (request.readyState === 4) {
                if (request.status === 200) {
                    console.log(request.responseText);//打印服务器响应的数据
                }else {
                    alert("错误");
                }
            }
        }

3.采用JQuery内置的方法来调用ajax

get请求
//JQuery
<script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.js"></script>//引入jq库
$.ajax({ 
	type: "GET", 	
	url: "请求url",
	dataType: "json",
	success: function(data) {
		//请求成功后回调函数
	},
	error: function(jqXHR){     
		//请求失败后回调函数
	},     
});

post请求
//JQuery
<script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.js"></script>//引入jq库
$.ajax({ 
	type: "POST", 	
	url: "请求url",
	data:{
		key:value
	},
	dataType: "json",
	success: function(data) {
		//请求成功后回调函数
	},
	error: function(jqXHR){     
		//请求失败后回调函数
	},     
});

4.解决跨域问题

http://www.abc.com:8080/index.php
协议.二级域名.域名:端口号/目标脚本文件

跨域是用ajax异步请求时经常遇到的问题,只要协议、域名、端口号其中一个不同,就产生了跨域访问,解决的方法很简单,建议利用XHR2方法,在后台进行操作从而实现跨域支持IE9以上在服务器设置以下2个请求头就可以解决:

header('Access-Control-Allow-Origin:*'); //*为支持所有地址跨域,可以改为只允许特定地地址跨域
header('Access-Control-Allow-Methods:POST,GET');//POST、GET为允许的请求方式

喜欢冷月的话不妨给本文点一个赞,获取更多面试笔记、编程技巧或开源代码,请关注冷月的公众号:学长冷月
学长冷月

微信搜一搜:学长冷月,获得独家整理的学习资源和日常干货推送。
如果您对我的专题内容感兴趣,也可以关注我的博客:www.lengyueit.cn

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值