inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Hiểu JavaScript phụ trợ thông qua phát triển web Node.js

Xử lý Ajax bằng JSON

Ajaxsend버튼 실행시 에러_해당 소스추가로 올립니다.

Đã giải quyết

269

pykoook

13 câu hỏi đã được viết

1

[소스명 : form.html]

<!doctype html>

<html>

  <head>

      <meta charset="utf-8">

      <title>email form</title>

  </head>

  <body>

    <form action="/email_post" method="post">

      email : <input type="text" name="email"><br/>

      <input type="submit">

    </form>

    <button class="ajaxsend">ajaxsend</button>

    <div class="result"></div>

    <script>

      document.querySelector('.ajaxsend').addEventListener('click',function() {

        var inputdata = document.forms[0].elements[0].value;

        sendAjax('http://127.0.0.1:3000/ajax_send_email', inputdata);

      })

      function sendAjax(url, data) {

        var data = {'email' : data};

        data = JSON.stringify(data);

        var xhr = new XMLHttpRequest();

        xhr.open('POST',url);

        xhr.setRequestHeader('Content-Type', "application/json");

        xhr.send(data);

        xhr.addEventListener('load', function() {

          console.log(xhr.responseText);

      //  var result = xhr.responseText;

          var result = JSON.parse(xhr.responseText);

      // document.querySelector(".result").innerHTML="dsfds";

          if(result.result !== "ok") return;

          document.querySelector(".result").innerHTML=result.email;

        });

      }

    </script>

  </body>

</html>

================

[소스명 : app.js]

var express = require('express')

var app = express()

var bodyParser = require('body-parser')

var cors = require('cors')

app.listen(3000, function() {

console.log("start, express server on port 3000");

});

app.use(express.static('public'))

app.use(bodyParser.json())

app.use(bodyParser.urlencoded({extended:true}))

app.set('view engine', 'ejs')

app.use(cors())

//url routing

app.get('/', function(req,res) {

  console.log('test');

  res.sendFile(__dirname+"/public/main.html")

});

app.get('/main', function(req,res) {

  res.sendFile(__dirname+"/public/main.html")

})

app.post('/email_post', function(req,res) {

  console.log(req.body.email)

//  res.send("post response")

//res.send("<h1>welcome " + req.body.email + "</h1>")

res.render('email.ejs', {'email' : req.body.email})

})

app.post('/ajax_send_email', function(req, res) {

console.log(req.body.email)

var responsData = {'result' : 'ok', 'email' : req.body.email};

res.json(responseData);

})

=================

[커멘트창에서 에러화면입니다]

pykoook@naver.com

ReferenceError: responseData is not defined

    at C:\users\kosmo\server-side-script\app.js:37:11

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:137:13)

    at Route.dispatch (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:112:3)

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:281:22

    at Function.process_params (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:335:12)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:275:10)

    at cors (C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:188:7)

    at C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:224:17

pykoook@naver.com

ReferenceError: responseData is not defined

    at C:\users\kosmo\server-side-script\app.js:37:11

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:137:13)

    at Route.dispatch (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:112:3)

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:281:22

    at Function.process_params (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:335:12)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:275:10)

    at cors (C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:188:7)

    at C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:224:17

pykoook@naver.com

ReferenceError: responseData is not defined

    at C:\users\kosmo\server-side-script\app.js:37:11

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:137:13)

    at Route.dispatch (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:112:3)

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:281:22

    at Function.process_params (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:335:12)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:275:10)

    at cors (C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:188:7)

    at C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:224:17

express javascript nodejs

Câu trả lời 1

0

pykoook

소스 오타로 정정하여 모두 해결되었습니다.

감사합니다.

c오류 같은데,, 실행이 안돼요

0

316

1

Error: Failed to deserialize user out of session

0

360

0

넌적스 for 문 질문

0

200

0

deserializeUser가 호출이 되지 않습니다. undefined문제

1

643

2

Users 테이블을 만드는 sql 명령어를 좀

0

285

1

점점 사운드가 낮아지네여 ㅋㅋㅋㅋㅋ

0

166

0

쿼리 날릴때 불필요한게 있네요

0

187

0

바디 파서로 값이 들어올때

0

213

1

npm nodemon 관련 에러

0

243

0

어.... 소스코드를 어디서 찾을수 있을까요?

0

204

0

consloe.log 가 찍히지 않음

0

189

0

form.html:1 Access to XMLHttpRequest at 요런 요류

3

649

2

ejs 사용할 때 에러 나시는 분들 팁

0

707

0

과제 답안

0

199

0

모듈을 require하는 기준이 궁금합니다.

0

220

0

1분20초 부분에서 submit을 눌러도 반응이 없는데 어떤문제일까요???

0

417

1

git 올린 db자료

0

174

0

ejs를 사용하지 않아도 괜찮은가요?

0

481

0

약간 신기한 문제가 발생했습니다.

0

335

2

계속 undefind 가 뜹니다.

0

316

1

mysql 설치및 설정방법

4

217

0

form 에서 보낸게 서버측에서 읽지 못합니다..

1

283

2

Cannot read property 'email' of undefined

2

507

3

movie/list 화면의 css소스 부탁드립니다.

0

158

0