Javascript Router.post未连接到AJAX

Javascript Router.post未连接到AJAX,javascript,html,node.js,ajax,express,Javascript,Html,Node.js,Ajax,Express,我正在尝试创建一个应用程序来转换温度。我在temp.js类中做了一个POST调用,然后调用我的ajax.js类来处理信息并执行计算以返回我需要的结果。然而,它从来没有进入我的ajax调用,所以我现在被卡住了。如果有人有任何建议或答案,请让我知道。 临时js ajax.js $(document).ready(function(){ $("#tempForm").submit(function(e){ e.preventDefault();

我正在尝试创建一个应用程序来转换温度。我在temp.js类中做了一个POST调用,然后调用我的ajax.js类来处理信息并执行计算以返回我需要的结果。然而,它从来没有进入我的ajax调用,所以我现在被卡住了。如果有人有任何建议或答案,请让我知道。 临时js

ajax.js

$(document).ready(function(){
    $("#tempForm").submit(function(e){
        e.preventDefault();
        var tempInput = $("#tempInput").val();
        var fromOp = $("#fromOp").val();
        var toOp = $("#toOp").val();

        if(fromOp !== toOp){
            if(fromOp === "Fahrenheit"){
                //F -> C
                if(toOp === "Celsius"){
                    var result = (tempInput - 32)*(5/9);
                }
                //F -> K
                else{
                    var result = (tempInput - 32)*(5/9)+273.15;
                }
            }else if(fromOp === "Celsius"){
                //C -> F
                if(toOp === "Fahrenheit"){
                    var result = (tempInput + 32)*(9/5)+273.15;
                }
                //C -> K
                else{
                    var result = tempInput + 273.15;
                }
            }else{
                //K -> C
                if(toOp === "Celsius"){
                    var result = tempInput - 273.15;
                }
                //K -> F
                else{
                    var result = (tempInput + 32)*(9/5)-273.15;
                }
            }
        }else{
            alert("Cannot convert Same Degree");
        }
        

        $.ajax({
            url :  "/ajaxTemp",
            data : {
                result
            },
            type: "POST",
            contentType: "application/x-www-form-urlencoded",
            success : function(res){
                console.log("made it here");
                $("#tempForm").append("<br/>"+res);
            }, error: function(err){
                console.log(err);
            }
        })
    })
}); 

你的html工作得很好。express API中出现错误。您忘了要求express,并且遗漏了一些语法

const express = require('express');
const router = express.Router();
const app = express();

// Remember to update ajax url at ajax.js file
const port = 8080;

// Your routes are here ...
router.get(...)
router.post(...)

app.use('/', router);

// If your run server local. 
// Your api url will be http://localhost:8080
app.listen(port, () => console.log(`Example app listening on port ${port}!`));

下面这行是错误的,因为您的路线将是/tempConverter/tempConverter,而不是/tempConverter

app.use("/tempConverter",require('./assets/Temperature/temp.js'));
您的代码应该修改如下

// Write as this for best practice
const router = require('./assets/Temperature/temp.js');

app.use("/", router);

// This line must be after app.use
app.listen(8080);

是的,由于某种原因,require('express')没有复制过来,而且我忘了包括我的主类(很抱歉!),这是我的app.js(我把它放在我的类的底部),这里是我设置服务器的地方。我不这么认为,因为在我最初获取的temp.js类中,我使用“/”作为我的路线,所以不会有任何/tempConverter/tempConverter,当我测试它时,它也不会以这种方式显示。
const express = require('express');
const router = express.Router();
const app = express();

// Remember to update ajax url at ajax.js file
const port = 8080;

// Your routes are here ...
router.get(...)
router.post(...)

app.use('/', router);

// If your run server local. 
// Your api url will be http://localhost:8080
app.listen(port, () => console.log(`Example app listening on port ${port}!`));
app.use("/tempConverter",require('./assets/Temperature/temp.js'));
// Write as this for best practice
const router = require('./assets/Temperature/temp.js');

app.use("/", router);

// This line must be after app.use
app.listen(8080);