Javascript 为什么AJAX POST和GET方法返回HTML而不是数据?
大家好,我已经学习了AJAX和POST-and-GET方法的基础知识,但我一定是做错了什么,因为我的警报会从原始HTML文件返回文本,而不是从服务器返回数据。我试图从文本字段中获取参数并将其发送到服务器。然后,服务器将会话值发送回客户端。这只是我的代码需要做什么的简化视图。下面是我的代码: Index.html: `Javascript 为什么AJAX POST和GET方法返回HTML而不是数据?,javascript,node.js,ajax,post,get,Javascript,Node.js,Ajax,Post,Get,大家好,我已经学习了AJAX和POST-and-GET方法的基础知识,但我一定是做错了什么,因为我的警报会从原始HTML文件返回文本,而不是从服务器返回数据。我试图从文本字段中获取参数并将其发送到服务器。然后,服务器将会话值发送回客户端。这只是我的代码需要做什么的简化视图。下面是我的代码: Index.html: ` 控制台中没有错误。我在Index.js中添加了console.log()语句,但没有打印任何语句,这意味着永远不会到达post/get。我添加了警报以查看返回的内容,它会不断返回I
控制台中没有错误。我在Index.js中添加了console.log()语句,但没有打印任何语句,这意味着永远不会到达post/get。我添加了警报以查看返回的内容,它会不断返回Index.html文本。我可能做错了什么?谢谢。你确定
app.get
块中的代码没有运行吗?@sunny lan我在该方法中使用了console.log,但也没有打印到console。我还注释掉了app.get block,以防万一,它仍然做同样的事情。
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
</head>
<body>
<form method="post">
<input type="text" name="args" id="args">
<button id="submitButton" >Submit</button>
</form>
<script>
$('#submitButton').on("click", (function(event){
event.preventDefault();
var args = $('#args').val();
$.ajax({
url: "/",
type:"POST",
data:{args:args},
success: function(data){alert(data)},
error: function(){alert("Error occurred posting");}
});
}));`
</body>
var express = require('express');
const spawn = require('cross-spawn').spawn;
var bodyParser = require('body-parser');
var session = require('express-session');
var cookieParser = require('cookie-parser');
//DEFINITIONS
var app = express();
app.use(cookieParser());
app.use(bodyParser.json()); //support json encoded bodies
app.use(bodyParser.urlencoded({ extended: true})); //support encoded bodies
//Sessions.
app.use(session({
secret: 'secret',
resave: true,
saveUninitialized: true,
}));
//ROUTES
app.get('/', function(req,res){
res.sendFile('../public/index.html', {root : __dirname});
});
app.post('/', function(req,res){
var session = "hello";
//Adds session ID to args
var args = req.body.args + " -o " + session;
//Calls method with these arguments
runFunction(args);
//Sends session variable back to client
res.send(session);
});
exports.app = functions.https.onRequest(app);