首页 文章

Laravel 5.6 api在post方法中从ajax调用时没有返回

提问于
浏览
0

我做了一个post方法来提供json数据作为api endpoints

我的路线是

Route::post('checkFuzzy', 'SolrController@checkFuzzy')->middleware('cors');

我让cors验证了我的起源,但ajax post方法没有给出任何ajax如下 .

$('.searchme').on('click',function(){
    var company = $("input[name=Company]").val();
    console.log(company)
    $.ajax({            
        headers: {
            'Content-Type': 'text/html',
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
        },
        crossOrigin: true,
        type: "post",
        url: 'http://127.0.0.1:8006/api/checkFuzzy',
        data: { 
            Company: function(){
                return company
            },
        },
        //data:'Company='+ company+'&Individual='+ individual,
        success: function(msg){
        alert('wow' + msg);
     }
    });
});

并且请求标头中的响应如下

Provisional headers are shown
Accept: */*
Content-Type: text/html
Origin: http://localhost:8006
Referer: http://localhost:8006/searchSolr
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36
X-CSRF-TOKEN: e522xOu6IhXGCXLDyw929zCogVcXcaZ5yYWwXDo4

Cors.php如下

public function handle($request, Closure $next)
    {
        $response = $next($request);
        $response->headers->set('Access-Control-Allow-Origin' , '*');
        $response->headers->set('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE');
        $response->headers->set('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With, Application, x-xsrf-token, x-csrf-token');
        return $response;
    }

状态代码是200 .

1 回答

  • 0

    问题出在返回类型上 . 返回类型应该是json而不是数组 .

    return response()->json([
                'status' => 'success',
                'result' => $calCulatedValue
            ]);
    

相关问题