今まで問題なく動いていたjquery.xdomainajax.jsが動かなくなりました。
該当コードは以下の通りです。
javascript
1$(document).on('click','.get-link-title-btn',function(){ 2 3 // urlを取得 4 var url = $('#url').val(); 5 6 // タイトルを取得 7 $.ajax({ 8 url: url, 9 type: 'GET', 10 dataType: 'html', 11 cache : false, 12 success: function(data) { 13 var row = data.responseText; 14 $.when( 15 xml = $.parseXML(row) 16 ).done(function(xml){ 17 var result = $(xml).find("result").text(); 18 // var title = $(result).find('title'); 19 var title = result.substring(result.indexOf("<title>")+7,result.indexOf("</title>")); 20 // フォームに追加 21 if(title == "") { 22 alert("タイトルの取得に失敗しました。何度か試しても失敗する場合は手入力でお願いします。"); 23 } 24 else { 25 // タイトルテキストをタイトルフォームに挿入 26 $('#link-title').val(title); 27 // 文字数もカウントしてカウンターに挿入&文字数チェック 28 var l = title.length; 29 var counter = $('#link-title_counter'); 30 counter.text(l + ' / 100 文字'); 31 counter.css('color', ( l > 100 ? '#F3868B' : 'gray' )); 32 } 33 }); 34 }, 35 error: function(e) { 36 console.log(e); 37 alert("タイトルの取得に失敗しました。何度か試しても失敗する場合は手入力でお願いします。"); 38 } 39 });
そもそもget送信した後のレスポンスが"success"ではなく"error"になっているようで、コードの問題ではないような気がしています。
console.log(e)
でエラーが返ってきた内容を表示すると以下の通りです。
※どのURLでスクレイピングしてもerrorになります。
successで何かしらスクレイピング先のページのxmlが返ってくればまだ調査の仕様があるのですが・・・。
同じような状況の方はいらっしゃいますでしょうか?
また、もしコードを見て問題あるとわかった方は教えていただけると幸いです・・・。。。