构建后,带有mysql数据的reactjs会话不起作用

我已经创建了一个React项目,在我的本地实例上它正在运行,但是当我构建它并将其部署到生产环境中时,代码没有从数据库中获取数据。

我使用axios并在js文件中调用了php文件。我尝试在package.json中添加代理,但没有任何反应。

config.php

<?php
 session_start();
 header("access-control-allow-origin: *");

 $host = "192.168.2.127:3336";
 $user = "root";
 $password = "welcome";
 $dbname = "hi";
 $id = "";

 $con = mysql_connect($host,$user,$password);

 $method = $_SERVER['REQUEST_METHOD'];
 $request = explode('/',trim($_SERVER['PATH_INFO']));

 if(!$con){
  die("Connection failed: " . mysql_connect_error());
 }
 mysql_select_db($dbname,$con);

 ?>

login.php

<?php
 session_start();
 header("access-control-allow-origin: *");

 require 'config.php';

 $username = $_POST['username'];
 $password = $_POST['password'];
 $division = $_POST['division']; 
 $company = $_POST['company'];

 $comp = mysql_query("SELECT comp_id FROM company WHERE comp_name = 
 '".addslashes($company)."'");
 $comp_id = mysql_fetch_assoc($comp);

 $div =  mysql_query("SELECT div_id FROM division WHERE division_name = 
 '".addslashes($division)."' AND comp_id LIKE '.addslashes($comp_id).'");
 $div_id = mysql_fetch_assoc($div);

 $username = mysql_query("SELECT user_name FROM users WHERE user_name = 
 '".addslashes($username)."'");
 $user_name = mysql_fetch_assoc($username);

 $userpass = mysql_query("SELECT user_name FROM users WHERE user_name = 
 '".addslashes($username)."' AND user_password = 
 PASSWORD('".$password."')");
 $user_password = mysql_fetch_assoc($userpass);

  $div =  mysql_query("SELECT div_id FROM division WHERE division_name 
 '".addslashes($division)."' AND comp_id = '".$comp_id['comp_id']."'");
 $div_id = mysql_fetch_array($div,MYSQL_ASSOC);

 $query =  mysql_query("SELECT * FROM users WHERE user_name = 
 '".addslashes($username)."' AND user_password = PASSWORD('".$password."') 
 AND comp_id = '".$comp_id['comp_id']."' AND div_id = 
 '".$div_id['div_id']."'");
 $user = mysql_fetch_array($query,MYSQL_ASSOC);
 $num = mysql_num_rows($query);
 if($comp_id === '' || empty($comp_id)){
   echo 'No Company';
 }elseif($div_id === '' || empty($div_id)){
   echo 'No Division';
 }elseif($user_name === '' || empty($user_name)){
   echo 'No User';
 }elseif($user_password === '' || empty($user_password)){
   echo 'Not Match';
 }elseif($num === 1){
   echo json_encode($user);
 }else{
   echo 'No Record';
 }
 ?>

Login.js

handleclick = event =>  {
event.preventDefault();

if (this.validateForm()) {
  let loginform = document.getElementById('login');
  let formData = new FormData(loginform);
  formData.append('username',this.state.username)
  formData.append('password',this.state.password)
  formData.append('company',this.state.company)
  formData.append('division',this.state.division)

  axios({
  method: 'post',url: 
  this.getHostname()+'/new_vehicle_management/src/components/php/login.php',data: formData,config: 
  {
    //headers:{'Content-Type':'multipart/form-data'
    headers: {
      "access-control-allow-origin": '*',"access-Control-Allow-Credentials": 'true',"access-Control-Allow-Methods":'GET,POST,PATCH,PUT,DELETE,OPTIONS',"Content-Type": "multipart/form-data",accept: "application/json"
  }}
  })
  .then(function (response) {
          if (response.data === "failed") {
           alert("Connection Failed.")
          }else if (response.data === "No Company") {
            alert("Company does not exist.")
           }else if (response.data === "No Division") {
            alert("Division does not exist.")
           }else if (response.data === "No User") {
            alert("username does not exist.")
           }else if (response.data === "Not Match") {
            alert("username and Password does not match.")
           }else if(response.data === "No Record"){
            alert("Invalid Credentials.");
           }
           else{
            alert("Login Successfully")
            localStorage.setItem('data',JSON.stringify(response.data))
            localStorage.setItem('user_id',JSON.stringify(response.data.user_id))
            localStorage.setItem('user',JSON.stringify(response.data.user_full_name))
            localStorage.setItem('div_id',JSON.stringify(response.data.div_id))
            localStorage.setItem('comp_id',JSON.stringify(response.data.comp_id))
            //window.location = "/menu"
           }
        })
        .catch(function (response) {
            //handle error
            console.log(response)
        });
     }         
  }
ygbyyy 回答:构建后,带有mysql数据的reactjs会话不起作用

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3162871.html

大家都在问