完全な開示:私はファイルを持っているログデータをコンソールにローカルの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ファイルのデータをオブジェクトとしてコンソールに表示したいと考えています。しかし、文字通りファイル名を送信しようとしているように見え、文字通りファイル名を送信しているため、解析できません。
はい、私は2個のコンソールエラーを持っている: は、リソースの読み込みに失敗しました:// localhostを:3000/data.json と「キャッチされないでSyntaxErrorサーバは404(見つかりません)HTTPのステータスで答えました: JSONの位置0の予期しないトークンC "localhost /:1 – Fabian
はlocalhost:3000/data.jsonファイルの場所ですか? (あなたの例ではdata.jsとしてリストされています)、ファイルがあなたが指しているところなら404で応答してはいけません。 –
私の404の問題を修正しました。data.jsの代わりにdata.jsonとして持っていましたが、今は次のようなエラーが出ています。 Uncaught SyntaxError:JSONの位置0に予期しないトークンdがありますlocalhots /:1 手がかりがない、何が起こっている、早くそれは予期しないトークンを言ったC、今それはDだ!? – Fabian