使用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 相关文章推荐
js word表格动态添加代码
Jun 07 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
Jul 17 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
Mar 10 Javascript
jquery随机展示头像代码
Dec 21 Javascript
改变隐藏的input中value的值代码
Dec 30 Javascript
javascript页面上使用动态时间具体实现
Mar 18 Javascript
深入学习JavaScript对象
Oct 13 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
Dec 07 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
Mar 22 Javascript
vue全局使用axios的方法实例详解
Nov 22 Javascript
JS查找孩子节点简单示例
Jul 25 Javascript
Node对CommonJS的模块规范
Nov 06 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 管理系统程序中的后门
2009/08/05 PHP
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
简单的自定义php模板引擎
2016/08/26 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
利用pandas读取中文数据集的方法
2018/07/25 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
python文件及目录操作代码汇总
2020/07/08 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
python如何修改文件时间属性
2021/02/05 Python
项目经理岗位职责
2013/11/11 职场文书
十岁生日家长答谢词
2014/01/17 职场文书
消防先进事迹材料
2014/02/10 职场文书
低碳生活倡议书
2014/04/14 职场文书
促销活动总结
2014/04/28 职场文书
优秀语文教师事迹
2014/05/18 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
告诉你创业计划书的8个实用技巧
2019/07/12 职场文书
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL