十月CMS - API生成器 - 如何在数据库

时间:2018-04-26 06:14:36

标签: ajax api octobercms

我尝试使用名为“API Generator”的10月CMS中的AJAX和插件将数据发送到数据库 我无法在其文档或Google中找到任何可以帮助我的内容。

我的代码是:

$data = [{'room_id': {{room.id}}, 'amount': amount, 'arrival': '2018-04-01', 'departure': '2018-04-03,', 'reservation_type': 'owner'}]

$.ajax({
  url: '/api/v1/booking/create',
  data: $data,
  type: "post"
})
.done(function() {
  console.log('Success')
})
.fail(function() {
  console.warn('Something went wrong');
});

我没有收到任何错误,事实上,我在控制台中收到“成功”消息,但数据未添加到数据库中。

我做错了什么? 请帮忙。

感谢。

1 个答案:

答案 0 :(得分:1)

实际上你做错了 [你正在wrong end-point 发送Ajax请求,Api插件基于https://laravel.com/docs/5.6/controllers#resource-controllers {{ 1}}

  

因此,要创建项目,您只需向Resource Controller发送POST请求。您无需发送Created Api-End Point只需发送简单的Array

即可

重构您的代码(这应该可行):

Object
  

为什么你得到// Plaing object no array $data = {'room_id': {{room.id}}, 'amount': amount, 'arrival': '2018-04-01', 'departure': '2018-04-03,', 'reservation_type': 'owner'}; $.ajax({ url: '/api/v1/booking', // <- just your Api-End [no create/store] data: $data, type: "post" // <- this post request indicates that you want to create/insert }) .done(function(response) { // this will always fire when status code is 200 console.log('Success', response); }) .fail(function() { // when status code is not 200 this will execute console.warn('Something went wrong'); }); 虽然它不是创造记录?

因为根据successResource Controller中没有方法create,因此api generator controllerOctober CMS [POST]请求视为/api/v1/booking/create并且其服务[200]状态代码404 page not found404 page not found

  

404页面有200个状态代码,因此它属于ajax response类别和success并在控制台中打印Ajax thinks it's a successful request消息。

如有疑问请发表评论。