2017-05-11 6 views
1

データベースからselectにリモートデータを表示する作業を進めています。今私は共通の問題に直面しています。これは、$.each関数が機能していないことです。これは、コンソールにエラーが表示されます。

SyntaxError: illegal character

は、ここに私のAJAXコード

function get_sub() { 
    $.ajax({ 
    url: "ajax/get_sub.php", 
    type: 'POST',      
    beforeSend: function() { 
     $('#ajax_loader').show(); 
    }, 
    success: function(data) { 
     $('#ajax_loader').hide(); 
     alert(data); 

     $.each(data, function(i, item) { 
     alert(data[i].sub_name); 
     }); 
    } 
    }); 
} 

これは、AJAXの応答です:ここでは

enter image description here

は誤りです:

enter image description here

これらの結果アイテムを1つずつ選択してHTMLを追加したい

+0

「データ型」とは何ですか? – Rayon

+0

JSONデータ型 –

+0

JSON.parse()でデータを解析し、フォーマットエラーがないことを確認します。 –

答えて

0

問題はAJAXではなく、コード内にあります。ブロック$.eachを閉じると、;の後に印刷できない文字があります。これは、特定のエディタに見えるです:あなたは14行の末尾に示した文字を削除した場合

enter image description here

あなたのコードが正常に動作する必要があります。

コードをデバッグするには、実際にconsole.log()またはconsole.dir()を使用する必要があります。 alert()はデータ型を強制するため、データを正確に表現することはできません。

+0

良いアイデア、どうすれば誰かが誤ってそのようなキャラクターをコードに追加することができますか?エディターが表示しないと、エラーチェックの仕方はどうなりますか? –

+0

@ TroelsM.B.Jensen個人的に、私はそれをやったことがないので、それがどうなるか教えてくれませんでした。私はこれまでにいくつかのSOの質問でそれを見てきました。私の推測では、人々が英語以外の言語の設定やキーボードを使用していると、より多く発生すると考えられます。 –

+0

さて、どうすれば修正できますか? –