reactjs - Reactjs Api 调用在 Yii2 中不起作用
问题描述
我是 React js 的新手,我使用 Yii2 作为我的后端..!当我向 yii2 发送 API 请求时,它返回 500 错误。我不知道,我在哪里犯了错误。
这是我用于 API 调用的 React Js 代码,
fetch('localhost/learning-react/api/admin/signup', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
fname:fname,
lname:lname,
email:email,
uname:uname,
passwd:passwd
})
}).then((response) => response.json())
.then((responseJson) => {
if(responseJson['status']==='1')
{
alert(responseJson['msg']);
}
}
这是我的 Yii2 后端代码,
public function actionSignup()
{
//$model = new TblUsers();
return "success";
}
对不起,我无法在我的代码中找到错误..!
解决方案
首先,500
意味着一般的服务器错误。因此,您需要根据我的评论发布错误日志以提供帮助。但是,我发现您在后端的代码是错误的。您没有在代码中使用 RESTful 控制器,因此它根本不是 REST API。所以我建议你通读指南中的 Restful APIs。话虽如此,您基本上需要:
- 通过继承来创建 Restful 控制器
yii\rest\Controller
。 - 返回 Array、DataProvider 或实例
yii\base\Model
以保证自动序列化为 JSON
所以我会给你一个简单的例子来给你一个想法。请阅读指南以深入了解使用 Yii2 的 REST API。
<?php
namespace app\modules\v1\controllers;
use yii\rest\Controller;
class LoginController extends Controller
{
public function actionSignup()
{
$model = new TblUsers();
//register a user
//return registred user
return [
'success' => true,
'member' => $model;
];
}
}
推荐阅读
- html - 嵌入/iframe 内容作为父窗口的一部分
- angular - 按变量选择角度模板
- elasticsearch - 是否可以在弹性搜索查询中从另一个索引中过滤一个索引的记录?
- regex - 是否可以将 Google 表格中的 IMPORTDATA 导入带有换行符的特定单元格而不是新列?
- javascript - 重置 html 表单上的成功或失败消息
- c++ - cpp unordered_set 只使用比较器而不是哈希
- android - MotionLayout 中的 ViewStub 保持不可见
- visual-studio-code - 汉字如何触发 VsCode 补全?
- excel - 插入新行时复制条件格式
- node.js - node.js + request => 显示垃圾响应的响应