Я пытаюсь сделать ajax-вызов POST, который примет входное значение формы, передаст его через маршрут к контроллеру, который вызовет функцию вставки. Я установил свой маршрут, мою функцию вставки, мой контроллер и мой блейд с помощью вызова ajax, но когда я заполняю ввод и нажимаю кнопку отправки, в консоли не возникает ни ответа, ни ошибки, и запись не вставляется в базу данных.
Может быть, я что-то упускаю из виду, но ясно ли, что я здесь упускаю или делаю не так? Возможно, мне следует исправить это по-другому?
Route.php
Route::post('insertFruit', 'Controller@insertFruit');
controller.php
public function insertFruit(Request $request)
{
if ($request->ajax()) {
$productComment = $request->productComment;
$fruitService = new fruitService();
$fruitService->insertListRecord($productComment);
}
}
fruitService.php
public function insertListRecord($productComment)
{
$link = DB::conn();
$sql = "CALL fruit.fruitInsert(?, ?)";
$exec = odbc_exec($link, $sql);
$prep = odbc_prepare($link, $sql);
if ($prep === false) {
$error = odbc_errormsg($link);
if (!empty($error)) {
throw new \Exception($error);
}
}
$exec = odbc_execute($prep, array($productComment));
if ($exec === false) {
$error = odbc_errormsg($link);
if (!empty($error)) {
throw new \Exception($error);
}
}
}
blade.php
<form id="productForm" class="uk-form uk-width-1-1">
<div class="uk-grid">
<div class="uk-width-1-1">
<label class="uk-form-label" for="">Comments:</label>
<textarea name="productComment" id="" cols="70" rows="5" placeholder="Optional"></textarea>
</div>
</div>
<div class="uk-grid">
<div class="uk-width-1-1 uk-text-center">
<button id="save" class="uk-button uk-button-primary uk-button-large" style="padding:0 50px;">Save</button>
</div>
</div>
</form>
$("#save").click(function(e){
e.preventDefault();
var productComment = $("input[name=productComment]").val();
$.ajax({
url:'/insertFruit',
data:{
productComment:productComment
},
"_token": "{{ csrf_token() }}",
type:"POST",
success:function(response){
console.log(response);
},
error: function(jqxhr, status, exception) {
alert('Exception:', exception);
}
});
});