javascript - 当我从服务器发送 json 信息时,客户端打印“未定义”消息
问题描述
当我单击“ajaxsend”按钮时,结果在控制台上显示“未定义”。
如何检查函数 res.json 是否正常工作?
应用程序.js
var express = require('express')
var app = express()
var bodyParser = require('body-parser')
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.post ('/ajax_send_email', function(req, res){
console.log(req.body.email)
var responseData = {'result':'ok','email':req.body.email}
console.log(responseData)
res.json(responseData)
});
表单.html
<!DOCTYPE html>
<html>
<head>
<meta charset="uft-8">
<title>email form</title>
</head>
<body>
<form action="/email_post" method="post">
email : <input type="text" name="email"><br/>
submit <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.reponseText);
});
}
</script>
</body>
</html>
我希望控制台在输入文本“email”中显示“{result:ok, email:content},但实际输出是“未定义”。
解决方案
推荐阅读
- kubernetes - Ansible + Kubernetes:如何等待作业完成
- python - 在 Python - 3.x 中创建可迭代的自定义对象后,有没有办法防止无限循环?
- linux - 如何在bash中使用换行符?
- docker - 如何重置 Docker 堆栈容器的重启策略
- c# - 多个过滤器 OpenFileDialog
- android-espresso - ./gradlew test connectedAndroidTest 删除我的 getFilesDir() 文件夹
- python - 如何向 Python 中的现有类实例添加新值?
- c++ - 自动确定所需的库/g++ -MM 模拟库?
- javascript - 如何使构造函数中的方法引用其参数?
- python - Scrapy:从获取请求中抓取数据