使用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 相关文章推荐
jQuery下通过replace字符串替换实现大小图片切换
May 22 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
Jan 08 Javascript
利用js读取动态网站从服务器端返回的数据
Feb 10 Javascript
jquery分页插件jpaginate在IE中不兼容问题
Apr 22 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
Aug 31 Javascript
JS模拟实现ECMAScript5新增的数组方法
Mar 20 Javascript
Three.js获取鼠标点击的三维坐标示例代码
Mar 24 Javascript
详解使用React全家桶搭建一个后台管理系统
Nov 04 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
Jun 24 Javascript
node实现socket链接与GPRS进行通信的方法
May 20 Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
基于JavaScript实现随机点名器
Feb 25 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
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
phpmail类发送邮件函数代码
2012/02/20 PHP
php基础教程 php内置函数实例教程
2012/08/21 PHP
体育彩票排列三组选三算法分享
2014/03/07 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
javascript 得到变量类型的函数
2010/05/19 Javascript
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
Vue 动态路由的实现及 Springsecurity 按钮级别的权限控制
2019/09/05 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
Python2随机数列生成器简单实例
2017/09/04 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
Linux系统(CentOS)下python2.7.10安装
2018/09/26 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
会计岗位职责
2013/11/08 职场文书
2014年五四青年节活动方案
2014/03/29 职场文书
企业贷款委托书格式
2014/09/12 职场文书
学生评语集锦
2015/01/04 职场文书
齐云山导游词
2015/02/06 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书