2016-06-29 5 views
-1

私はajax機能を使用しており、ajaxを使用してタイトルを取得しようとしていますが、動作しません。ここではあなたの要求があるためCORS保護の障害が発生している例ajaxを使用してタイトルを取得するには?

$('#ajaxlink').click(function(e) { 
 
    var $this = this.href; 
 
    $.ajax({ 
 
    url: $this, 
 
    dataType: 'html', 
 
    success: function(html) { 
 
     var div = $('title', $(html)); 
 
     $('#gettitle').text($title); 
 
     
 
    console.log(html); 
 
    } 
 

 
    }); 
 

 

 
    e.preventDefault(); 
 
    return false; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a id="ajaxlink" href="https://jsfiddle.net/">Click</a> 
 
<div id="gettitle"> 
 
</div>

答えて

1

です。 CORSを明示的に有効にしない限り、他のドメインからhtmlを簡単にリクエストして解析することはできません。

それは、同じドメインのために働くようにするには、この

$('#gettitle').text($(html).filter('title').text()); 
+0

?同じページタイトルではありません。私は完全なajaxページ変更オプションを使用していますが、 'pushstate'を使ってページが変更されたときにタイトルを変更したいと思います。 Everythigはうまく動作しますが、この例ではタイトルを取得できません。 – Debar

+0

同じドメインで効果がありますか? – Debar

+0

試してみますか? $( '#gettitle')。テキスト($(html).filter( 'title')。 – MoustafaS

0

を試してみてください、私はあなたのコード内のいくつかの問題を見て、 あなたのコード

$('#ajaxlink').click(function(e) { 
 
    var urlPath = $(e.currentTarget).prop('href'); // must be a valid url 
 
    $.ajax({ 
 
    url: urlPath, 
 
    dataType: 'html', 
 
    success: function(html) { 
 
     $('#gettitle').text(html); 
 
    console.log(html); 
 
    } 
 

 
    }); 
 

 

 
    e.preventDefault(); 
 
    return false; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a id="ajaxlink" href="https://jsfiddle.net/">Click</a> 
 
<div id="gettitle"> 
 
</div>

+0

まだ動作しません。 – Debar

+0

@Debarコンソールではどのようなエラーが発生していますか? – Sandcar

+0

私は完全なAjaxページ変更オプションを使用していますが、 'pushstate'を使ってページが変更されたときにタイトルを変更したいとします。 Everythigはうまく動作しますが、この例ではタイトルを取得できません。 – Debar

0

のこのバージョンを試してみてくださいあなたはJSONPを使用することができます。

01私は、同じドメインからこれを取得できますか

または

function jsonCallback(json){ 
    console.log(json); 
} 

$(document).ready(function(){ 



$.ajax({ 
    url: "http://run.plnkr.co/plunks/v8xyYN64V4nqCshgjKms/data-2.json", 
    dataType: "jsonp" 
}); 

}); 
+0

すべてのブラウザをサポートしていますか? – Debar

+0

jQueryはクロスブラウザーフレームワークですか? ...はい。 jsonpではCORSを有効にする必要はありません。欠点は例外的です。 – Legends

関連する問題