php - 使用 Vue.js 的 REST API 中出现“无法获取”错误
问题描述
我有一个用 Vue.js 制作的项目,我通过 npm (Node) 运行 localhost。
我是 Rest API 的新手。我按照互联网教程制作了一个简单的 REST API。
员工.php
<?php
// Connect to database
include("../connection.php");
$db = new dbObj();
$connection = $db->getConnstring();
$request_method=$_SERVER["REQUEST_METHOD"];
switch($request_method)
{
case 'GET':
// Retrive Products
if(!empty($_GET["id"]))
{
$id=intval($_GET["id"]);
get_employees($id);
}
else
{
get_employees();
}
break;
default:
// Invalid Request Method
header("HTTP/1.0 405 Method Not Allowed");
break;
}
function get_employees()
{
global $connection;
$query="SELECT * FROM employee";
$response=array();
$result=mysqli_query($connection, $query);
while($row=mysqli_fetch_array($result))
{
$response[]=$row;
}
header('Content-Type: application/json');
echo json_encode($response);
}
function get_employees($id=0)
{
global $connection;
$query="SELECT * FROM employee";
if($id != 0)
{
$query.=" WHERE id=".$id." LIMIT 1";
}
$response=array();
$result=mysqli_query($connection, $query);
while($row=mysqli_fetch_array($result))
{
$response[]=$row;
}
header('Content-Type: application/json');
echo json_encode($response);
}
?>
我不知道如何从我的 Js 等中调用 API。问题是如何调用我的 API。我尝试通过 localhost/api/v1/employees.php 但我得到了
“无法获取员工.php”
错误。
我想知道使用 Vue.js 制作 REST API 的正确方法,因为我在 XAMPP 上有我的数据库,我认为可能存在问题。任何链接对于了解更多信息都是有价值的。
谢谢大家!
解决方案
如果您“无法获取 employees.php”,则您的服务器可能会告诉您该文件实际上不在localhost/api/v1/employees.php
.
你能修改你的employees.php
文件来阅读<?php echo 123; ?>
吗?
如果你遇到同样的问题,你可能没有为你的 api/server 使用正确的 URL 结构。
此外,您的服务器可能会阻止来自 Javascript 的流量,因此如果您123
在浏览器中看到,但是当您使用 AJAX 时它会失败,那么可能是您遇到了同源策略问题。
推荐阅读
- node.js - 如何使用 Nodejs 将 XML 价格文件正确发布到 Walmart Canada Marketplace API
- javascript - 正则表达式只允许数字和最多 2 位数字
- .net - youtube-dl 进程因 RedirectStandardOutput 而挂起
- android - 如何根据主题 android 更改状态栏文本颜色
- html - 如何在 Bootstrap 5 中删除低于警报的保证金?
- spring - Spring Boot + Hibernate - 两个级别的子休眠对象的延迟初始化错误
- android - FCM 推送通知停止在 Android 设备中响起
- ruby-on-rails - crontab 和使用 gem 时出现问题
- python - Python Pyparsing:识别可选列表+关键字+可选列表的模式
- javascript - JSHint 警告不会消失 {"esversion": 6} 在 .jshintrc 中无法正常工作