3 글 보임 - 1 에서 3 까지 (총 3 중에서)
-
글쓴이글
-
2023년 4월 17일 16:52 #77408
이창민참가자쎈세 하기와같이 코딩시 클라이언트에서 post요청을하면 server측에서 요청한 데이터들이 undefined로 출력되어나옵니다ㅠㅠ 서버에서 console.log(req.body)로 작성시 {} 출력 서버에서 console.log(req.body.plan)로 작성시 undefined 출력 --------server.js----------
const express = require("express"); const bodyParser = require("body-parser"); const path = require("path"); const app = express(); require("dotenv").config();
app.use(bodyParser.urlencoded({ extended: true })); app.use(express.static(path.join(__dirname, "비밀_react/build"))); //특정폴더의 파일들을 전송가능
app.listen(8080, function () { console.log("listening on 8080"); });
app.get("/", function (req, res) { res.sendFile(path.join(__dirname, "비밀/build/index.html")); });
app.post("/contact", function (req, res) { console.log(req.body); res.send("success"); // 요청이 성공적으로 처리되었음을 클라이언트에게 응답 });
<!---------client--------------->
import axios from "axios"; import "./../Contact/Contact.css";
function Contact() { const handleSubmit = async (event) => { event.preventDefault();
const form = event.target; const formData = new FormData(form);
try { const data = { plan: formData.get("plan"), location: formData.get("location"), company: formData.get("company"), name: formData.get("name"), phone: formData.get("phone"), mail: formData.get("mail"), personnel: formData.get("personnel"), budget: formData.get("budget"), check: formData.get("check"), };
const response = await axios.post("/contact", data);
if (response.data === "success") { // 요청이 성공적으로 처리되었는지 확인 alert("성공적으로 전송되었습니다!"); form.reset(); } else { alert("전송 실패"); } } catch (error) { console.error(error); alert("전송 실패"); } };
return ( <div className="contact-container"> <p className="contact-title">문의하기</p> <p className="contact-paragraphs"> 비밀 <b>문의 남겨주세요</b> </p>
<form onSubmit={handleSubmit} className="form"> <div> <p>플랜선택</p> <select required name="plan"> <option value="" disabled selected> 원하시는 플랜을 선택해주세요 </option> <option>노랑</option> <option>파랑</option> <option>민트</option> </select> </div>
(추가 input 생략했습니다) <button type="submit">매니저에게 전달하기</button> </form> </div> ); }
export { Contact };
2023년 4월 17일 16:57 #77410
이창민참가자혹시 몰라 클라이언트측 전체코드도 끄적여봅니다!
import axios from "axios"; import "./../Contact/Contact.css";
function Contact() { const handleSubmit = async (event) => { event.preventDefault();
const form = event.target; const formData = new FormData(form);
try { const data = { plan: formData.get("plan"), location: formData.get("location"), company: formData.get("company"), name: formData.get("name"), phone: formData.get("phone"), mail: formData.get("mail"), personnel: formData.get("personnel"), budget: formData.get("budget"), check: formData.get("check"), };
const response = await axios.post("/contact", data);
if (response.data === "success") { // 요청이 성공적으로 처리되었는지 확인 alert("성공적으로 전송되었습니다!"); form.reset(); } else { alert("전송 실패"); } } catch (error) { console.error(error); alert("전송 실패"); } };
return ( <div className="contact-container"> <p className="contact-title">문의하기</p> <p className="contact-paragraphs"> 비밀 <b>문의 남겨주세요</b> </p>
<form onSubmit={handleSubmit} className="form"> <div> <p>플랜선택</p> <select required name="plan"> <option value="" disabled selected> 원하시는 플랜을 선택해주세요 </option> <option>노랑</option> <option>파랑</option> <option>민트</option> </select> </div>
<div> <p>지역</p> <select required name="location"> <option value="" disabled selected> 원하시는 지역을 선택해주세요 </option> <option>서울</option> <option>경기</option> <option>인천</option> </select> </div>
<div> <p>회사명</p> <input placeholder="회사명을 입력해주세요" name="company"></input> </div>
<div> <p>담당자명</p> <input placeholder="담당자님 성함을 입력해주세요" name="name"></input> </div>
<div> <p> 담당자 연락처 <span>*</span> </p> <input placeholder="-를 제외한 숫자만 입력해주세요" name="phone" ></input> </div>
<div> <p>담당자 이메일 주소</p> <input placeholder="담당자님 이메일 주소를 입력해주세요" name="mail" ></input> </div>
<div> <p> 소속 직원수<span>*</span> </p> <input placeholder="숫자만 입력해주세요" name="personnel"></input> </div>
<div> <p> 한 달 예산<span>*</span> </p> <input placeholder="숫자만 입력해주세요" name="budget"></input> </div>
<div className="check"> <div> <input type="checkbox" name="check"></input> <p> 개인정보 제공동의 <span>*</span> </p> </div> <div> <p>보기</p> </div> </div> <button type="submit">전송</button> </form> </div> ); }
export { Contact };
-
글쓴이글
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
- 답변은 로그인 후 가능합니다.