如何解决如何在OctoberCMS上传递AJAX呼叫
我正在使用OctoberCMS,用户插件,我想通过AJAX将数据发送到控制器,并将数据保存在数据库中(在登录用户的列中)。
所以我在 routes.php
中创建了一条新路线<?php
Route::get('saveHighscore','test\Profile\Controllers\HighScore@saveHighscore')
->middleware('web');
还有一个控制器
<?php
namespace 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,则效果很好
解决方法
AJAX框架仅适用于CMS控制器或后端控制器(扩展后端/类/控制器的控制器)。如果您想通过AJAX发送数据而不使用内置的AJAX框架,那么我们将不得不从浏览器开发工具的控制台/网络标签中查看更多信息,以了解失败的确切原因。
,它应该可以正常工作。
但是我认为您要提出2个不同的请求
在
ajax config
中,您指定了->type: "POST"
,您正在监听get
的请求
也许您只需要更改Route::get -> Route::post
现在应该可以正常工作了。
如有任何疑问,请发表评论。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。