Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Laravel ajax post,未获得响应、错误或数据库插入_Javascript_Php_Ajax_Laravel - Fatal编程技术网

Javascript Laravel ajax post,未获得响应、错误或数据库插入

Javascript Laravel ajax post,未获得响应、错误或数据库插入,javascript,php,ajax,laravel,Javascript,Php,Ajax,Laravel,我正在尝试进行一个POST-ajax调用,它将接受一个表单输入值,通过一个路由将其传递给将调用insert函数的controller。我已经用ajax调用设置了我的路线、插入函数、控制器和刀片,但是当我填充输入并点击提交按钮时,控制台中没有响应或错误,数据库中也没有插入记录 也许我完全忽略了一些事情,但我是否清楚我遗漏了什么或做错了什么?也许我也应该以不同的方式调试它 Route.php Route::post('insertFruit', 'Controller@insertFruit');

我正在尝试进行一个POST-ajax调用,它将接受一个表单输入值,通过一个路由将其传递给将调用insert函数的controller。我已经用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);
         }
    });

});

评论:
拯救
$(“#保存”)。单击(函数(e){
e、 预防默认值();
var productComment=$(“输入[name=productComment]”)val();
$.ajax({
url:“/insertFruit”,
数据:{
productComment:productComment
},
“_-token”:“{{csrf_-token()}}”,
类型:“POST”,
成功:功能(响应){
控制台日志(响应);
},
错误:函数(jqxhr、状态、异常){
警报(“异常:”,异常);
}
});
});

在表单的HTML中,您需要将其方法设置为POST,因为您的路由需要POST方法

 <form id="productForm" class="uk-form uk-width-1-1" method="post">


if($request->ajax())如果删除
if($request->ajax()),会发生什么{
check?@Adam同样不幸的是,错误日志在这一点上或stacktrace错误页面上填满了?很好的一点,我这样做了,现在控制台中出现了500个错误。这一点上controller.php或fruitService.php中可能有任何问题。如果我跟踪到它,将更新答案。所以ajax通过了200,有赌注吗如何从准备或执行中返回错误?ODBC不太适用,但这可能会有所帮助?-但根据我的经验,它并不总是返回上一条消息(var_dumping有时为空)。我认为这是表单数据的问题。它需要作为字符串以单引号(如“category”)的形式传递。我应该做些什么来确保它以这种方式传递?