我正在尝试使用jQuery get方法将firstname和lastname发送到api请求。只使用一个参数即可以正常工作,即仅使用名字,但是当我将lastname添加到请求时。 如果url =" http:// localhost:5000 / name?firstname =" + h1; 但是如果url =" http://localhost:5000/name?firstname=" + h1 +"& lastname =" + h2;在后面的情况下,所需的输出显示一秒然后消失,网址更改为" http://localhost:5000/?",该功能从" http://localhost:5000/&#调用34; 这是我的javascript代码:
<script type="text/javascript">
$(document).ready(function(){
$("#submitButton").click(function(e){
var h1 = $("#handle1").val();
var h2 = $("#handle2").val();
var u = "http://localhost:5000/name?firstname="+h1+"&lastname="+h2;
//works fine if u = var u = "http://localhost:5000/name?firstname="+h1; though lastname is displayed undefined in the output
alert(u);
$.get(u, function(data){
$('.result').html(data);
})
});
});
</script>
这是我的Express API代码:
var express = require('express');
var app = express();
var path = require("path");
const PORT = process.env.PORT || 5000
app.listen(PORT, function(){
console.log('server running on port ' + PORT);
})
app.get('/name', function(req, res){
res.send("Full Name: "+ req.query.firstname + " " + req.query.lastname);
});
答案 0 :(得分:1)
您的Ajax $.get
请求应该类似于下面的代码段。如果投放的 HTML 也通过http://localhost:5000/
运行,那么您可以完全省略相对网址。
$.get('name', {'firstname': h1, 'lastname': h2}).done(function(data) {
$('.result').html(data);
});
name
中的$.get
对应于路线/name