2017-02-23 20 views
0

私はfreecodecamp(codepen)のwikipedia検索を完了しようとしています。私のコードはcodepenの編集ビューとデバッグビューで実行されますが、実行に失敗します。 「詳細ビュー」、および「フルビュー」である。詳細にコンソールで特定のエラー、および完全なビュー、である、syntax error codepen full view

「キャッチされないでSyntaxError:欠落している)引数リストの後に」

、まだjshintは、エラーを見つけることができないよう、そしてコードがいるようですそうでなければうまくいく?それは単なるcodepenのバグですか?

ここは私のペンです。非常にスケッチです。 :

https://codepen.io/ohrha/pen/wgZYvM?editors=1000(エディタビュー)(作業) https://codepen.io/ohrha/full/wgZYvM/(フルビュー)O

$.ajax ({ 
       type:'GET', 
       url: prefixSearch, 
       dataType:'jsonp', 
       success: function(jason){ 
        var prefixSearchResults= jason; 
        console.log(prefixSearchResults.query.prefixsearch.length); 
        console.log(prefixSearchResults.query.prefixsearch[0].pageid); 
        console.log(prefixSearchResults.query.prefixsearch[0].title); 


        for(var i= 0; i<prefixSearchResults.query.prefixsearch.length;i++){ 
        curid.push("https://crossorigin.me/https://en.wikipedia.org/w/api.php?action=query&format=json&prop=extracts&exchars=175&explaintext&pageids="+prefixSearchResults.query.prefixsearch[i].pageid); queryResultsArray.push(prefixSearchResults.query.prefixsearch[i].pageid); 
       queryResultUrls.push("<a rel="nofollow" rel="noreferrer"href= 'https://en.wikipedia.org/?curid="+prefixSearchResults.query.prefixsearch[i].pageid+">"+prefixSearchResults.query.prefixsearch[i].title+"</a><br>"+prefixSearchResults); 

//here the "Uncaught SyntaxError: missing) after argument list" error occurs. 
         extracts.push(prefixSearchResults.query.prefixsearch[i].pageid); 
         console.log(extracts); 
        } 
        }}); 

任意のアイデア(動作しませんか)?

+0

引用符は 'queryResultUrls.push(ここ) 'に' ''と '''で混在しています。 –

+0

ああありがとうございます。私は組み合わせを使用することはできませんか?それとも、私の唯一の選択肢から脱出していますか? – trigramthree

+0

の組み合わせは問題ありません。あなたが '' ''で始まり、 '' 'で使用することができるなら、 '' 'を使用することができます。 –

答えて

0

代替引用符をエスケープする@subwaymatch指摘のように、あなたはちょうどここ

を単一引用符を使用することができます
queryResultHrefLink='<a href="https://en.wikipedia.org/?curid='+prefixSearchResults.query.prefixsearch[i].pageid+'">'+prefixSearchResults.query.prefixsearch[i].title+'</a><br>'+prefixSearchResults; 
+0

完璧に動作します!ありがとうございます!*ポンド* – trigramthree

+0

@trigramthree awesome、 *\*ポンド\** –

0

あなたはqueryResultUrls.push内部」(二重引用符を)()エスケープする必要があります。

queryResultUrls.push("<a rel=\"nofollow\" rel=\"noreferrer\" href= 'https://en.wikipedia.org/?curid="+prefixSearchResults.query.prefixsearch[i].pageid+">"+prefixSearchResults.query.prefixsearch[i].title+"</a><br>"+prefixSearchResults); 
+0

そう、私の不適切な使い方一重引用符と二重引用符の二重引用符のためのエスケープの欠如は、修正されたとき。実際にコンソールビューに表示されるのはrel = "no follow"とrel = "no referrer"です。私は間違いなくこのバージョンを投稿しました。 – trigramthree