Как работать, когда нет реакции от сервера nodejs? - PullRequest
1 голос
/ 01 апреля 2019

Я начинающий node.js, когда я уже проверяю, что мой сервер открыт, но нет никакой реакции, когда я пытаюсь открыть свой index.html, я создал каталог, просто ничего не реагирует, почему это произошло?DBtestApp> ajax_test> www> index.html и я сохранил мои настройки nodejs в DBtestApp, но когда я получаю доступ к порту 3000, просто покажи мне «Express Welcome to Express», как я могу проверить работу моего index.html

Я уже проверяюсервер открывается, когда я получаю доступ к http://localhost:3000/ страница показывает мне «Экспресс добро пожаловать на экспресс», но я не понимаю, почему index.html не открылся

Это мой индекс.html

    <!DOCTYPE html>

    <html lang="en">
    <head>
        <meta charset="utf8">
        <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script>



     $(document).ready(function(){

            $('#ButtonRequest').click(function(){

                $.ajax({
                    url: 'http://localhost:3000/Echo',
                    data:{
                        myData: "Hello",
                    },
                    dataType: 'jsonp',
                    success: function(data){
                        console.log(data);
                        $('.Response').text('answer from server  : '+data.result);
                    },
                    error: function(){
                        $('.Response').text('error occured');
                    }
                });

            });

        });
    </script>
</head>
<body>
    <div class="Response"></div>
    <input type="button" id="ButtonRequest" value="AJAX start" />

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</body>
</html>

Это мои настройки nodejs ajax_srv_test.js

var express = require('express'); 
var app = express();
var bodyParser = require('body-parser'); 
var path = require('path');

// Path setting 
app.use(express.static(path.join(__dirname, 'ajax_test', 'www')));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

// service main page return 
app.get('/', function(req, res){
    res.sendFile(path.join(__dirname, 'ajax_test', 'www', 'index.html'));
});

// Echo service
app.get('/Echo', function(req, res){
    var callbackName = req.query.callback;
    var myData = req.query.myData;
    var ResObj = {};
    ResObj.result = myData;
    var server = app.listen(3000, function(){
        console.log("Express server has started on port 3000");
    });
    res.header('Content-type','application/json');
    res.header('Charset','utf8');
    res.send(callbackName + '('+JSON.stringify(ResObj)+');');

});

и когда я пишу в терминал

node ajax_srv_test

нет реакции

1 Ответ

1 голос
/ 01 апреля 2019

Код для запуска сервера находится в пределах /Echo маршрута, и по этой причине он никогда не выполняется, в результате чего HTTP-сервер не запускается.Пожалуйста, измените код для /Echo маршрута на что-то, как показано ниже:


// Echo service
app.get('/Echo', function(req, res){
    var callbackName = req.query.callback;
    var myData = req.query.myData;
    var ResObj = {};
    ResObj.result = myData;    
    res.header('Content-type','application/json');
    res.header('Charset','utf8');
    res.send(callbackName + '('+JSON.stringify(ResObj)+');');

});

var server = app.listen(3000, function(){
    console.log("Express server has started on port 3000");
});


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...