挑戦: URL1(ランダムウィキペディアのページ)の間に、URL2(最も一般的な単語100個のウィキペディアのページ)にajaxリクエストを行い、後で使用するために返されたデータのリストをフォーマットします。JavaScript ajaxリクエストからデータを保存する
"URL1" 例にしながら、私は、コンソールからこれを実行する必要があります。
- 移動URL1 へ
- オープンコンソール
- ペーストコード
を入力ヒットこれまでのところ、URL1で次のようにHTMLソース全体を取得することができました:
$.ajax({
url: 'https://en.wikipedia.org/wiki/Most_common_words_in_English',
type: 'GET',
dataType: 'html',
success: function (response) {
console.log(response); // works as expected (returns all html)
}
});
私はコンソールに全体HTMLソースを見ることができます - 私は、私は私が行うことができたており、必要なものをつかんでフォーマットする方法を見つけ出すためにURL2に行ってきました:
var array = $.map($('.wikitable tr'),function(val,i){
var obj = {};
obj[$(val).find('td:first').text()] = $(val).find('td:last').text();
return obj;
});
console.log(JSON.stringify(array));
さて、これは私の問題がどこにあるかである - 私はマップするHTMLは現在の文字列である、と私の配列は、現在のページのHTML要素を探していると、これが原因である推測2
$.ajax({
url:'https://en.wikipedia.org/wiki/Most_common_words_in_English',
type:'GET',
dataType:'html',
success: function(data){
// returns correct table data from URL2 while on URL2 -- issue while running from URL1
var array = $.map($('.wikitable tr'),function(val,i){
var obj = {};
obj[$(val).find('td:first').text()] = $(val).find('td:last').text();
return obj;
});
console.log(JSON.stringify(array));
};
});
イムを組み合わせていることをもちろん見つからないだろう。
ありがとうございました
ようこそ。あなたの質問は、何らかの種類のサンプルデータなしでは抽象的すぎます。あなたは 'data'をあなたのAjaxに返しますが、決してそれを使用しません。 – Twisty
あなただけ 'data'、ちょうど' VAR内容= $(データを)やるに含まれるHTMLと照らし合わせて一致を実行したい場合は、どこ '.wikitableことだ場合は、' 'そして' $(「wikitable TR。」、コンテンツ) 'です。 –