前提・実現したいこと
Ajax及びJSONを用いて、js(フロント)とNode.js(サーバー)間の値を連携したいです。
発生している問題・エラーメッセージ
下記のソースコードを実行したところ、下記のログ①が出力されます。
ログ① POST http://localhost:3000/node_modules/mysql/tutor-search-server.js 404 (Not Found) XMLHttpRequest : 404 tutor-search-client.js:16 textStatus : error tutor-search-client.js:17 errorThrown : Not Found
下記のソースコードの「type: 'post',」をコメントアウトしたところ、ログが下記のログ②へ変化するため、
「type: 'post',」が何らかの影響を及ぼしているかと思いますが、404の真因が特定できずにいます。
ログ② XMLHttpRequest : 200 tutor-search-client.js:16 textStatus : parsererror tutor-search-client.js:17 errorThrown : SyntaxError: Unexpected token ' in JSON at position 0
該当のソースコード
js
1--ファイル名:tutor-search-client.js(js) 2 3"use strict"; 4$(function(){ 5 $("#searchBtn").click(function(){ 6 $.ajax({ 7 async: false, 8 url: './node_modules/mysql/tutor-search-server.js', 9 //type: 'post', 10 data:{"name": "musa"}, 11 dataType: 'json' 12 }).done(function(res){ 13 console.debug(res); 14 }).fail(function(xhr, status, error){ 15 alert(status); 16 console.log("XMLHttpRequest : " + xhr.status); 17 console.log("textStatus : " + status); 18 console.log("errorThrown : " + error); 19 20 }); 21 22 }); 23 });
--ファイル名:tutor-search-server.js(Node.js) 'use strict'; var express = require('express'); var bodyParser = require('body-parser'); var app = express(); app.use(bodyParser.urlencoded({extended: false})); app.use(bodyParser.json()); app.use(function(req, res, next){ res.header("Access-Control-Allow-Origin","*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }) app.post('/',function(req, res){ var obj = {}; console.log('body: ' + JSON.stringify(req.body.name)); var rejson = JSON.stringify(req.body); res.send(rejson); }); app.listen(3000);
お手数ですが、よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/08 13:50