使用JQuery进行跨域请求


Posted in Javascript onJanuary 25, 2010
以上程序是今天偶然看到的,分享一下!
原文地址:  Cross-domain-request-with-jquery
当然,还有以上的那个 Demo,我直接拿过来改了下,原地址:Demo

$(document).ready(function(){ 
var container = $('#target'); 
container.attr('tabIndex','-1'); 
$('.ajaxtrigger').click(function(){ 
var trigger = $(this); 
var url = trigger.attr('href'); 
if(!trigger.hasClass('loaded')){ 
trigger.append('<span></span>'); 
trigger.addClass('loaded'); 
var msg = trigger.find('span::last'); 
} else { 
var msg = trigger.find('span::last'); 
} 
doAjax(url,msg,container); 
return false; 
}); function doAjax(url,msg,container){ 
// if the URL starts with http 
if(url.match('^http')){ 
// assemble the YQL call 
msg.removeClass('error'); 
msg.html(' (loading...)'); 
$.getJSON("http://query.yahooapis.com/v1/public/yql?"+ 
"q=select%20*%20from%20html%20where%20url%3D%22"+ 
encodeURIComponent(url)+ 
"%22&format=xml'&callback=?", 
function(data){ 
if(data.results[0]){ 
var data = filterData(data.results[0]); 
msg.html(' (ready.)'); 
container. 
html(data). 
focus(). 
effect("highlight",{},1000); 
} else { 
msg.html(' (error!)'); 
msg.addClass('error'); 
var errormsg = '<p>Error: could not load the page.</p>'; 
container. 
html(errormsg). 
focus(). 
effect('highlight',{color:'#c00'},1000); 
} 
} 
); 
} else { 
$.ajax({ 
url: url, 
timeout:5000, 
success: function(data){ 
msg.html(' (ready.)'); 
container. 
html(data). 
focus(). 
effect("highlight",{},1000); 
}, 
error: function(req,error){ 
msg.html(' (error!)'); 
msg.addClass('error'); 
if(error === 'error'){error = req.statusText;} 
var errormsg = 'There was a communication error: '+error; 
container. 
html(errormsg). 
focus(). 
effect('highlight',{color:'#c00'},1000); 
}, 
beforeSend: function(data){ 
msg.removeClass('error'); 
msg.html(' (loading...)'); 
} 
}); 
} 
} 
function filterData(data){ 
// filter all the nasties out 
// no body tags 
data = data.replace(/<?\/body[^>]*>/g,''); 
// no linebreaks 
data = data.replace(/[\r|\n]+/g,''); 
// no comments 
data = data.replace(/<--[\S\s]*?-->/g,''); 
// no noscript blocks 
data = data.replace(/<noscript[^>]*>[\S\s]*?<\/noscript>/g,''); 
// no script blocks 
data = data.replace(/<script[^>]*>[\S\s]*?<\/script>/g,''); 
// no self closing scripts 
data = data.replace(/<script.*\/>/,''); 
// [... add as needed ...] 
return data; 
} 
});
Javascript 相关文章推荐
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
Dec 29 Javascript
jquery Moblie入门—hello world的示例代码学习
Jan 08 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
Feb 13 Javascript
BootStrap按钮标签及基本样式
Nov 23 Javascript
微信小程序 动态绑定数据及动态事件处理
Mar 14 Javascript
javascript  数组排序与对象排序的实例
Jul 17 Javascript
Vue的MVVM实现方法
Aug 16 Javascript
jQuery使用bind函数实现绑定多个事件的方法
Oct 11 jQuery
vue-cli 引入、配置axios的方法
May 08 Javascript
vue弹窗组件的实现示例代码
Sep 10 Javascript
Vue 3.x+axios跨域方案的踩坑指南
Jul 04 Javascript
Vue数字输入框组件示例代码详解
Jan 15 Javascript
javascript 的Document属性和方法集合
Jan 25 #Javascript
起点页面传值js,有空研究学习下
Jan 25 #Javascript
js 巧妙去除数组中的重复项
Jan 25 #Javascript
将函数的实际参数转换成数组的方法
Jan 25 #Javascript
javascript中利用数组实现的循环队列代码
Jan 24 #Javascript
document.getElementById为空或不是对象的解决方法
Jan 24 #Javascript
JavaScript 未结束的字符串常量常见解决方法
Jan 24 #Javascript
You might like
Terran历史背景
2020/03/14 星际争霸
PHP登录(ajax提交数据和后台校验)实例分享
2016/12/29 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
javascript 在网页中的运用(asp.net)
2009/11/23 Javascript
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
jQuery之字体大小的设置方法
2014/02/27 Javascript
javascript几个易错点记录
2014/11/26 Javascript
js智能获取浏览器版本UA信息的方法
2016/08/08 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
巴黎一票通:The Paris Pass
2018/02/10 全球购物
英国设计的甲板鞋和船鞋:Chatham
2018/12/06 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
Vrbo英国:预订度假屋
2020/08/19 全球购物
迎八一活动主题
2014/01/31 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
房屋过户委托书范本
2014/10/07 职场文书
学期个人工作总结
2015/02/13 职场文书
机关单位保密工作责任书
2015/05/11 职场文书
离婚上诉状范文
2015/05/23 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
惊天动地观后感
2015/06/10 职场文书
Python序列化与反序列化相关知识总结
2021/06/08 Python
Python实现自动玩连连看的脚本分享
2022/04/04 Python