【发布时间】:2017-08-11 00:12:03
【问题描述】:
我正在尝试使用 jquery 将数据从客户端的表单发布到发布路由,该路由将数据发送到节点/快递中的 api。
我收到错误消息 Can't set headers after they are sent,我不知道为什么。
我该如何解决这个问题?
客户:
<input id="prospect-form" type="text" placeholder="Email Address" class="form-control" style="vertical-align: baseline; display:inline-block; background-color: white; border: none;" onClick="submitData()" />
<script charset="utf-8">
var submitData = function() {
var data = $("prospect-form").serialize();
$.post("/prospect/" + data, function() {
console.log("data sent");
})
.done(function() {
console.log("data success");
})
.fail(function() {
console.log("data failed");
})
.always(function() {
console.log("data finished");
})
}
</script>
快递:
router.post('/prospect/:query', function(req, res) {
var data = req.params.query;
var options = {
url: "https://prospect.io/api/public/v1/prospects",
formData: data,
headers: {
"Authorization": "",
"Content-Type": "application/vnd.api+json; charset=utf-8",
}
}
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
var info = JSON.parse(body);
console.log(info);
}
}
request.post(options, callback) //post
res.end()
}) //router post
非常感谢!
【问题讨论】:
标签: javascript jquery node.js express post