2016-07-14 5 views
0

完全な開示:私はファイルを持っているログデータをコンソールにローカルのJSONファイルへのXMLHttpRequestを作る

は、「data.js」は、それはデータが含まれている総noobの、次のようになります。

[{ 
    "Course": "Math 101", 
    "Classroom": "Granby Hall" 
}] 

私は現在、特急使用して私のアプリをホストし、サーバーのファイルを持っているが、次のようになります。私は私の要求を作ってるんだ私のメインのjsのページでは、

app.get('/data.js',function(req,res) { 
    res.send('data.js'); 
}); 

、それは目のように見えます次のとおりです。

var x = new XMLHttpRequest(); 
x.open('GET','data.js', true); 
x.onreadystatechange = function(){ 
if(x.readyState == 4){ 
    console.log(x.responseText); 
    callback(JSON.parse(x.responseText)); 
} 
}; 
x.send(); 

function callback(resp){ 
console.log(resp); 
} 

私はデベロッパーツールを開いて検査した場合、コンソールは(ない文字列の引用符で)「data.js」をログに記録し、その後、次の行はエラーです: 「キャッチされないでSyntaxError:予期しないトークンD JSONの位置0で "

私はそれをテストし、私の応答でサーバーから送信されたファイル名を変更して、それが何を話しているのですか?だから、本当に私はちょうど混乱しています。何が起こっていますか?私は、data.jsファイルのデータをオブジェクトとしてコンソールに表示したいと考えています。しかし、文字通りファイル名を送信しようとしているように見え、文字通りファイル名を送信しているため、解析できません。

答えて

0

あなたのコードは、あなたが望むように正確に動作します。コンソールにエラーメッセージが表示されますか?

間違ったフォルダにdata.jsがあり、私のパス(lol)を変更する必要がありましたが、実行するときにjsonをコンソールに出力すること以外は同じです。

+0

はい、私は2個のコンソールエラーを持っている: は、リソースの読み込みに失敗しました:// localhostを:3000/data.json と「キャッチされないでSyntaxErrorサーバは404(見つかりません)HTTPのステータスで答えました: JSONの位置0の予期しないトークンC "localhost /:1 – Fabian

+0

はlocalhost:3000/data.jsonファイルの場所ですか? (あなたの例ではdata.jsとしてリストされています)、ファイルがあなたが指しているところなら404で応答してはいけません。 –

+0

私の404の問題を修正しました。data.jsの代わりにdata.jsonとして持っていましたが、今は次のようなエラーが出ています。 Uncaught SyntaxError:JSONの位置0に予期しないトークンdがありますlocalhots /:1 手がかりがない、何が起こっている、早くそれは予期しないトークンを言ったC、今それはDだ!? – Fabian

関連する問題