Почему методы AJAX POST и GET возвращают HTML вместо данных? - PullRequest
0 голосов
/ 26 августа 2018

Здравствуйте, я изучил основы методов AJAX и POST и GET, но я должен что-то делать неправильно, потому что мои предупреждения возвращают текст из исходного файла HTML, а не возвращают данные с сервера.Я пытаюсь взять аргументы из текстового поля и отправить его на сервер.Затем сервер отправляет значение сеанса обратно клиенту.Это просто упрощенное представление о том, что должен делать мой код.Ниже мой код:

Index.html:

`

<!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>

Index.js:

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);

В консоли нет ошибок.Я добавил выражения console.log () в Index.js, но ни один из них не был напечатан, что означает, что post / get никогда не достигается.Я добавил оповещения, чтобы увидеть, что возвращается, и он продолжает возвращать текст Index.html.Что я могу делать не так?Спасибо.

...