为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 OctoberCMS 上传递 AJAX 调用

如何在 OctoberCMS 上传递 AJAX 调用

PHP
慕姐4208626 2023-10-21 10:02:11
我使用 OctoberCMS,用户插件,我想通过 AJAX 将数据发送到控制器并将数据保存在数据库中(在登录用户的列中)。所以我在routes.php中创建了一个新路线<?phpRoute::get('saveHighscore', 'test\Profile\Controllers\HighScore@saveHighscore')->middleware('web');和一个控制器<?phpnamespace Test\Profile\Controllers;use Illuminate\Http\Request;use Illuminate\Support\Facades\DB;use October\Rain\Auth\Models\User;use RainLab\User\Facades\Auth;class HighScore extends \Illuminate\Routing\Controller{function saveHighscore(Request $request) {    DB::table('users')->where(['id' => Auth::getUser()->id])->update(['highscore' => $request]);}}我的 jQuery 调用$.ajax({        headers: {            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')        },        url: "/saveHighscore",        type: "POST",        data: highscore    });但没有任何作用。如果我在浏览器中使用控制器中的虚拟数据调用 /saveHighscore,则它可以正常工作
查看完整描述

2 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

它应该可以毫无问题地工作。

但我认为你提出了两个不同的要求

ajax config您指定的 ->中type: "POST",您正在监听get请求

也许你只是需要改变Route::get -> Route::post

现在它应该可以正常工作了。

如有疑问请评论。


查看完整回答
反对 回复 2023-10-21
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

AJAX 框架仅适用于 CMS 控制器或后端控制器(扩展后端/类/控制器的控制器)。如果您想通过 AJAX 发送数据而不使用内置的 AJAX 框架,那么我们必须从浏览器开发工具的控制台/网络选项卡中查看更多信息,以了解其失败的确切原因。



查看完整回答
反对 回复 2023-10-21
  • 2 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信