ホームページ  >  記事  >  ウェブフロントエンド  >  クロスドメインリクエストに JQuery を使用する_JavaScript のヒント

クロスドメインリクエストに JQuery を使用する_JavaScript のヒント

WBOY
WBOYオリジナル
2016-05-16 18:35:571036ブラウズ
今日、上記の番組を偶然見ましたので、シェアしてください!
元のアドレス: Cross-domain-request-with-jquery
もちろん、私が直接取得して変更した上記のデモもあります: Demo

$(document).ready(function(){
varcontainer = $ ('#target' );
container.attr('tabIndex','-1');
$('.ajaxtrigger').click(function(){
var トリガー = $(this );
var url =trigger.attr('href');
if(!trigger.hasClass('loaded')){
trigger.append(' ');
trigger.addClass('loaded');
var msg =trigger.find('span::last');
} else {
var msg =trigger.find('
}
doAjax(url,msg,container);

関数 doAjax(url,msg,container); {
/ / URL が http で始まる場合
if(url.match('^http')){
// YQL 呼び出しをアセンブルします
msg.removeClass('error'); 🎜>msg.html (' (読み込み中...)');
$.getJSON("http://query.yahooapis.com/v1/public/yql?"
"q=select * from html where url=" "
encodeURIComponent(url)
""&format=xml'&callback=?",
function(data){
if(data.results[0]){
var data = filterData (data.results[0]);
msg.html(' (ready.)');
html(data). 🎜>effect(" ハイライト",{},1000);
} else {
msg.html(' (エラー!)'); var errormsg = '

エラー: ページを読み込めませんでした。

';
html(errormsg).
effect(). ',{color: '#c00'},1000);
}
}
); else {
$.ajax({
url: url, タイムアウト:5000、
成功: function(data){
msg.html(' (ready.)');
コンテナ。
focus()。
effect( "ハイライト",{},1000);
},
error: function(req,error){
msg.html(' (エラー!)'); msg.addClass(' error');
if(error === 'error'){error = req.statusText;}
var errormsg = '通信エラーが発生しました: '
コンテナ.
html (errormsg).
effect('highlight',{color:'#c00'},1000);
beforeSend: function(data) ){
msg.removeClass('error');
msg.html(' (読み込み中...)')
}
}); 🎜>function filterData( data){
// 厄介なものをすべて除外
// body タグなし
data = data.replace(/]*>/ g,'') ;
// 改行なし
data = data.replace(/[r|n] /g,'');
// コメントなし
data = data.replace (/<- -[Ss]*?-->/g,'');
// noscript ブロックはありません
data = data.replace(/]*>) ;[Ss]* ?/g,'');
// スクリプトブロックなし
data = data.replace(/]*>[Ss] *?/g,'');
// 自動終了スクリプトはありません
data = data.replace(//,''); // [.. 必要に応じて追加 ...]

}
});
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。