jquery ajax调用返回404未找到页面

dfddblmv  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(142)

我试图在加载页面时解析json字符串,但在web开发工具中出现以下错误:gethttp://ipaddress/culturalevents/calwrapper 404未找到(注意:ipaddress是iis web服务器的地址)。当我点击该错误时,我得到以下错误:加载资源失败:服务器以404未找到的状态响应。
这是我的index.js

var titles = new Array();
var descriptions = new Array();
var count = 0;

// Function to cycle through events on display
function changeText() {
    $('#evtName').html(titles[count]);
    $('#evtDesc').html(descriptions[count]);
    if (count < titles.length - 1) {
        count++;
    } else {
        count = 0;
    }
}

$(document).ready(function () {
    $.ajax({
        url:'/CulturalEvents/calWrapper',
        type: 'GET',
        dataType: 'json',
        success: function(calJSON){

            let eventCheck = 0;
            var today = new Date();
            var yyyy = today.getFullYear();
            var dd = String(today.getDate()).padStart(2, '0');
            var mm = String(today.getMonth() + 1).padStart(2, '0');

            today = yyyy + mm + dd;
            console.log(today);

            for (let i = 0; i < calJSON.length; i++){
                if (calJSON[i].startDT == today){
                    eventCheck = 1;
                } else {
                    eventCheck = 0;
                }
                if (eventCheck == 1){
                    titles.push(calJSON[i].summary);
                    if (calJSON[i].description == ""){
                        descriptions.push("No description.");
                    } else{
                        descriptions.push(calJSON[i].description)
                    }
                } else {
                    titles.push("No events today.");
                    descriptions.push("If you know of an event that is not displayed feel free to contact the Diversity Equity and Inclusion committee.")
                }
            }
        }
    });

  // Rotate through events
    changeText();
    setInterval(changeText, 10000);

});

它找不到我的ajax url“/culturalevents/calwrapper”。注意:我可以在本地运行它并查找endpoint/calwrapper,它工作得非常好,但是当我在iis服务器上运行它时,它就停止工作了。
以下是我的app.js:

// C library API
const ffi = require('ffi');

// Express app
const express = require('express');
const app = express();
const path = require('path')
const port = process.env.PORT
const fs = require('fs');

app.use(express.static('public'));

// Send HTML
app.get('/CulturalEvents/', function(req, res){
    res.sendFile(path.join(__dirname + '/public/index.html'));
});

// Send style
app.get('/CulturalEvents/style.css', function(req, res) {
    res.sendFile(path.join(__dirname + '/public/style.css'));
});

// send JavaScript
app.get('/CulturalEvents/index.js', function (req, res) {
    res.readFile(path.join(__dirname + '/public/index.js'), 'utf8', function(err, contents){
        res.send(contents);
    });
});

// Wrapper function for c library
let wrapper = ffi.Library('./bin/libcalWrapper', {
    'calWrapper': [ 'string', [ 'string' ] ]
});

app.get('/CulturalEvents/calWrapper', function (req, res) {
    var tempStr = JSON.parse(wrapper.calWrapper(__dirname + "/multiculturalcalendar2021.ics"));
    res.send(tempStr);
});

app.listen(port, () => {
    console.log(__dirname + '/public/index.js');
});

目录结构也如下所示:

CulturalEvents/
    public/
        index.js
        index.html
        style.css
    app.js
    package.json
    web.confi

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题