[英]Laravel 5.6 api not returning while calling from ajax in post method
我做了一个post方法来提供json数据作为api端点
我的路线是
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。
问题出在返回类型上。 返回类型应该是json而不是数组。
return response()->json([
'status' => 'success',
'result' => $calCulatedValue
]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.