ajax 实现跨域
2024-08-26 19:12:30
ajax本身是不可以跨域的,
通过产生一个script标签来实现跨域。因为script标签的src属性是没有跨域的限制的。
其实设置了dataType: 'jsonp'后,$.ajax方法就和ajax XmlHttpRequest没什么关系了,取而代之的则是JSONP协议。JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问。
js代码:
var url = "http://127.0.0.1:8000/test";
$.ajax({
type:'get',
url:url,
dataType:'jsonp',
jsonpCallback:'back',
success:function(msg){
console.log(msg);
},
error:function(){
alert('访问失败!');
}
});
异域服务器端代码:
app.js中:
//跨域测试
app.get('/test',webIndex.tests);
//测试跨域
exports.tests = function(req,res){
/**设置响应头允许ajax跨域访问**/
res.setHeader("Access-Control-Allow-Origin","*");
/*星号表示所有的异域请求都可以接受,*/
res.setHeader("Access-Control-Allow-Methods","GET,POST");
var obj = {
b:'',
c:''
}
res.send("back("+JSON.stringify(obj)+")");
}
结果:
最新文章
- Python 基础之一变量和赋值
- 记录在windows7上安装MongoDB
- 20145223《Java程序程序设计》第10周学习总结
- android selector详解
- MySql数据类型(转)
- oracle多表查询
- UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释
- Linux备份与恢复
- Office办公软件(Excel PPT Word)使用整理
- BST 解析 (一)
- Struts2实现文件上传(一)
- setInterval setTimeout 详解
- 获取DataSet中某行某列的数据
- 用R创建Word和PowerPoint文档--转载
- Wampserver配置与本地建站
- 普通用户修改root密码【转】
- Eclipse插件的安装与配置
- Daily Scrum (2015/11/3)
- 09慕课网《进击Node.js基础(一)》HTTP-get/request
- java容器详细解析(转)
热门文章
- 自定义$('#form').serialize() var params = $('#xxx_form').serializeObject();
- Makefile在内核编译中的使用
- MySQL Transaction--RR事务隔离级别下加锁测试
- ExtJs 4.0 DeskTop集成 百度地图API
- ML(4): 决策树分类
- 织梦if标签
- Django 中 python manage.py makemigrations 与 python manage.py migrate
- linux 线程的同步 一 (互斥量和信号量)
- 如何制作Jar包并在android中调用jar包
- css属性所对应js属性