이것은 매우 간단해야하지만 의도 한대로 작동하지는 않습니다.단순한 node.js 서버가 성공 또는 오류를 반환합니다.
클라이언트가 전자 메일 주소로 양식을 제출하고 node.js 서버가 db를 검색하여 제출 된 전자 메일 주소를 쿼리 한 후 성공 또는 오류를 반환하도록합니다. 첫 번째 단계로서, 내가하려는 것은 수동으로 성공 또는 오류를 반환하는 것입니다.
클라이언트 측에서 JQuery 및 ajaxForm 플러그인을 사용하고 있습니다.
서버 쪽에서 node.js 쪽에서 connect-form을 사용하고 있습니다.
node.js 쪽에서 console.log 메시지가 표시되지만 클라이언트 쪽에서 "SUCCESS"경고가 표시되지 않습니다. 대신 localhost : 8000에서 빈 페이지가 표시됩니다. 나는 그 수정이 간단 할 것이라고 생각한다.
어떤 도움을 주시면 감사하겠습니다. !!!!
클라이언트 측 HTML/JS :
<div class="gform">
<form id="entryForm" action="http://localhost:8000/" method="post">
<p><input type="radio" name="choice" value="1"> Choice 1</p>
<p><input type="radio" name="choice" value="2"> Choice 2</p>
<p><input type="radio" name="choice" value="3"> Choice 3</p>
<p><input type="radio" name="choice" value="4"> Choice 4</p>
<p><input type="radio" name="choice" value="5"> Choice 5</p>
<p><input type="text" name="email"> Email Address</p>
<p><input type="submit" value="Submit" /></p>
</form>
</div>
<div id="form_result">
</div>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="jquery.form.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var options = {
dataType: 'json',
target: "form_result",
success: goodResult,
error: badResult,
timeout: 1000
};
$('#entryForm').ajaxForm(options);
}
function goodResult() {
alert('SUCCESS!');
}
function badResult() {
alert('ERROR!');
}
</script>
Node.js를 측면 :
var form = require('connect-form'), connect = require('connect');
var server = connect.createServer(
form({ keepExtensions: true }),
function(req, res){
// Form was submitted
if (req.form) {
req.form.complete(function(err, fields){
console.log(fields);
res.writeHead(200, { "Content-Type": "application/json" });
res.end();
});
} else {
// Regular request, return error.
}
}
);
server.listen(8000);
console.log('Express app started on port 8000....');
나는 정확히 같은 문제가 있습니다. 어떤 대답을 찾았습니까? – Luc