現在,簡易WEBサイトを製作しております.
その中で,url等をjsonファイルにまとめて記載しているのですが,ブラウザでそのjsonファイルを読み込んだ際に
Uncaught SyntaxError: Unexpected token : ```という構文エラーが吐かれます. 記載しているjsonファイルの中身は以下のようになっています. ```json { "予約管理" :{"url":"https://pmn.peakmanager.com/Orders","same_commands":["予約ページ","予約一覧","予約"]}, "シフト管理":{"url":"https://pmn.peakmanager.com/Shifts/shiftlist","same_commands":["しふと","シフト"]} }
なお,当方vscode上でjsonファイルの記述をしておりますが,vscodeの構文チェック機能では,エラーは表示されません.
jsonの構文についても,確認しているため,json自体に問題はないと考えております.
ブラウザに関しても,Chrome,及びsafariの両方で試しましたが,同様のエラーが表示される状態です.
純粋な構文エラーでないのに,ブラウザで読み込んだ場合のみ構文エラーと表示される理由が分からず,解決に至りません.
原因に見当が付きましたら,ご教示いただきたいです.
よろしくお願いします.
ーーーー以下コメントを受けての補足ーーーー
node.jsで動かしています.
javascript
1var http = require("http"); 2 3var fs = require('fs'); 4 5var server = http.createServer(function (req, res) { 6 var url = "public" + (req.url.endsWith("/") ? req.url + "index.html" : req.url); 7 fs.readFile(url, (err, data) => { 8 res.writeHead(200, {"Content-Type": getType(url)}); 9 res.end(data); 10 }); 11}); 12 13var port = process.env.PORT || 3000; 14server.listen(port, function() { 15 console.log("To view your app, open this link in your browser: http://localhost:" + port); 16}); 17 18function getType(_url) { 19 var types = { 20 ".html": "text/html", 21 ".css": "text/css", 22 ".js": "text/javascript", 23 ".png": "image/png", 24 ".json": "application/json" 25 } 26 for (var key in types) { 27 if (_url.endsWith(key)) { 28 return types[key]; 29 } 30 } 31 return "text/plain"; 32}
html上でのjson呼び出し部
html
1 <script type="text/javascript" src="i/API.js"></script> 2 <script type="text/javascript" src="i/urls.json"></script> 3 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
しかしながら,純粋にhtmlをブラウザで開いただけでも同様のエラーは発生するので,node.jsでの呼び出し時にエラーが生じているとも考えられないです.
回答1件
あなたの回答
tips
プレビュー