我尝试使用名为“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');
});
我没有收到任何错误,事实上,我在控制台中收到“成功”消息,但数据未添加到数据库中。
我做错了什么? 请帮忙。
感谢。
答案 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'); });
虽然它不是创造记录?
因为根据success
,Resource Controller
中没有方法create
,因此api generator controller
将October CMS
[POST]请求视为/api/v1/booking/create
并且其服务[200]状态代码404 page not found
为404 page not found
。
404页面有200个状态代码,因此它属于
ajax response
类别和success
并在控制台中打印Ajax thinks it's a successful request
消息。
如有疑问请发表评论。