【问题标题】:404 error when trying to do a http get request to nodejs through javascript on azure尝试通过 azure 上的 javascript 向 nodejs 发出 http get 请求时出现 404 错误
【发布时间】:2018-04-04 17:11:51
【问题描述】:

嗨,我的代码在 localhost 中运行,但是当我将它部署到天蓝色时,http get 请求没有发生。收到 404 错误 有人可以帮我解决这个问题。 这是m html页面代码:

$.ajax({
        type: 'GET',
        data: data,
        dataType: 'json',
        url: 'https://######.azurewebsites.net:1337/incident_area',                     
        success: function(data) {
          console.log(data);
          }
        },
        error: function(jqXHR, textStatus, err) {    
           swals('text status '+textStatus+', err '+err,"error");
        }
      });

这是我的nodejs页面

app.get('/incident_area', function (req, response) {
         console.log('params: ' + req.param('value'));
         var incident_area = req.param('incident_area');
         var search_name = req.param('search_name');
         var search_slack = req.param('search_slack');
         var search_email = req.param('search_email');
         response.send(JSON.stringify("hello"));
    });

var server = app.listen(process.env.PORT || 1337, function (req,res,next) {
     var host = server.address().address
     var port = server.address().port
     console.log("app listening at https://%s:%s", host, port)
});

【问题讨论】:

  • url: 'https://######.azurewebsites.net:8081/incident_area', 替换为url: '/incident_area'
  • 让我知道这是否适合你
  • 不,它不起作用
  • 确保您的后端在 azure 上工作/运行
  • 如何检查,因为我只是创建了一个网络应用程序并上传了所有文件。是否需要设置其他的东西?

标签: jquery html node.js


【解决方案1】:

试试这段代码吧。

  const express = require('express');
  const app = express();

  app.get('/', (req, res) => res.send('Hello World!'));

 app.get('/incident_area', function (req, response) {
  console.log('params: ' + req.param('value'));
  var incident_area = req.param('incident_area');
  var search_name = req.param('search_name');
  var search_slack = req.param('search_slack');
  var search_email = req.param('search_email');
  response.send(JSON.stringify("hello"));
 });

var server = app.listen(process.env.PORT || 1337, function (req,res,next) {
var host = server.address().address
var port = server.address().port
console.log("app listening at https://%s:%s", host, port)
});

【讨论】:

  • 在请求时获取 net::ERR_TUNNEL_CONNECTION_FAILED
  • 当您使用代理时会发生这种情况。试试这个troubleshooter.xyz/wiki/…
  • 我不认为这是因为 crome,因为我尝试使用不同的设备和其他操作系统对其进行测试。问题在于 azure web 应用程序的环境设置。
  • 你的节点服务器肯定坏了。您需要在控制台中检查它是否正常工作。
  • 还要检查服务器上是否安装了 express npm 模块。这也可能是问题所在。
猜你喜欢
  • 2021-11-15
  • 2013-08-25
  • 2018-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多