400错误,使用8080端口,但页面打开



我正在运行wampserver,并通过vue, node, PHP, ajax创建一个登录系统。使用node.js命令npm run serve,我在端口8080上运行项目,URL为localhost:8080/register。当我尝试注册时,我得到以下错误:

POST http://localhost:8080/login-system/backend/api/register.php 400(错误请求)

我设置这个的代码在jwtservice.js中:

login(...args) {
return this.axiosIns.post("http://localhost:8080/login-system/backend/api/login.php", ...args);
}
register(...args) {
return this.axiosIns.post("http://localhost:8080/login-system/backend/api/register.php", ...args);
}
forgotPassword(...args) {
return this.axiosIns.post("http://localhost:8080/login-system/backend/api/password-reset-token.php", ...args);
}
resetPassword(...args) {
return this.axiosIns.post("http://localhost:8080/login-system/backend/api/update-forgot-password.php", ...args);
}

如果我在我的URL中输入http://localhost:8080/login-system/backend/api/register.php,它不会给我一个404,所以我认为这将是正确的URL。

不确定这是否有帮助,但这是目录树:

目录树

编辑:下面是register.php中的代码:

<?php
// required headers
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
// files needed to connect to database
include_once 'config/vendor/autoload.php';
include_once 'config/database.php';
include_once 'objects/user.php';

// generate json web token
include_once 'config/core.php';
include_once 'config/vendor/firebase/php-jwt/src/BeforeValidException.php';
include_once 'config/vendor/firebase/php-jwt/src/ExpiredException.php';
include_once 'config/vendor/firebase/php-jwt/src/SignatureInvalidException.php';
include_once 'config/vendor/firebase/php-jwt/src/JWT.php';
use FirebaseJWTJWT;
// get database connection
$database = new Database();
$db = $database->connect();
// instantiate user object
$user = new User($db);
// get posted data
$postedData = preg_replace('/s+/', '', file_get_contents("php://input"));
$data = json_decode($postedData, true );
// set user property values
$user->username = $data['username'];
$user->email = $data['email'];
$user->fullName = $data['username'];
$user->password = $data['password'];
//set default errors
$emailError = null;
$usernameError = null;
//create the user
if(
!empty($user->username) &&
!empty($user->email) &&
!empty($user->password) &&
$user->create()
) {
$token = array(
"iat" => $issued_at,
"exp" => $expiration_time,
"iss" => $issuer,
"data" => array(
"id" => $user->id,
"email" => $user->email,
)
);
$accessToken = JWT::encode($token, $secret);
$refreshToken = "";
//set response code
http_response_code(200);
//display message: user was created
echo json_encode(
array(
"message" => ["User was created."],
"userData" => $user,
"accessToken" => $accessToken, 
"refreshToken" => $refreshToken
)    
);
}
//message if unable to create user
else if ($user->error->errorInfo) {
if(strpos($user->error->errorInfo[2], "email"))
$emailError = "This email is already in use.";
if(strpos($user->error->errorInfo[2], "username"))
$usernameError = "This username is already in use.";
//set response code
http_response_code(400);
//display message: unable to create user
echo json_encode(array("error" => array(
"email" => $emailError,
"username" => $usernameError
)
)  
);
}
?>

有什么建议吗?我试过将URL更改为本地主机,但得到了相同的400,我不确定URL应该是什么。询问任何额外的上下文/信息,我会编辑并添加它

您是否尝试过在8080的不同端口上运行php服务或api ?对于开发,我倾向于这样做只是为了清晰和调试服务器端和客户端应用程序之间。

最新更新