Как связать веб-приложение с базой данных MySQL Azure? - PullRequest
0 голосов
/ 31 марта 2019

РЕДАКТИРОВАТЬ: я изменил используемый порт, до 8081, но все еще есть проблема с ошибкой 405 с моим index.js. Организация выглядит как

├── ...
├── site
│   ├── server
│   │   ├── index.js
│   │   ├── ...
│   ├── wwwroot
│   │   ├── index.html
│   │   ├── .htaccess
│   │   ├── manifest.json
│   │   ├── web.config
│   │   ├── ...

Я впервые использовал MS Azure. Я сделал проект на React.js с базой данных MySQL. Теперь я отправил свою сборку в веб-приложение на MS Azure, которое хорошо работало.

Но в этом приложении я использую запрос на выборку, который я не знаю, как настроить MS Azure с авторизацией. Я попытался выбрать XX.XX.XXXX: 443 / точка.

У меня следующая ошибка 405. Я попытался поместить файл .htaccess: Набор заголовков Access-Control-Allow-Methods: POST, GET, OPTIONS, HEAD но это ничего не изменило, метод post все еще недоступен.

Я действительно надеюсь, что кто-то найдет решение, спасибо.

Вот важный код index.js:

const version="1.0.0"

var app=require('express')();
var http=require('http').Server(app);
var mysql=require('mysql');
var bodyParser=require('body-parser');
var jwt = require('jsonwebtoken');
var cookieParser = require('cookie-parser');
var fs=require("fs");

app.use(bodyParser.json({limit:'50mb'}));
app.use(bodyParser.urlencoded({limit:'50mb',extended:true}));
app.use(cookieParser());

const CREATE_TABLE_USER = fs.readFileSync("src/sql_script/create_table_user.sql").toString();
const ...

var con=mysql.createConnection({
    host:"host",
    user:"user",
    password:"password",
    database:"database",
});

con.connect(function(err){if(err){console.log(err);}});

con.query(CREATE_TABLE_USER,function(err,result){if(err){console.log(err);}})
con.query...

app.use(function(req,res,next){
    res.header('Access-Control-Allow-Methods: GET,POST,PATCH,PUT,DELETE,OPTIONS');
    res.header('Access-Control-Allow-Headers: Origin,X-Requested-With,Content-Type,Accept,X-Auth-Token');
    checkValidToken(req,res,next);
});

app.post('/dot',function(req,res){
    if(req.body.action === "login"){login(req, res);}
    ...
});

http.listen(443,function(){console.log('app listening on port 443!');})

Вот функция загрузки приложения:

return fetch("XX:443/dot",{
    method:"POST",
    credentials:'same-origin',
    body:JSON.stringify(info),
    headers:{'Content-Type':'application/json'}
});
...