Laravel JQuery AJAX POST 获取数据



我有一个代码:

var bet = {
tournament: '',
bo: '1',
bet_team: '2',
betted: '3',
potential: '4',
percent: '5'
};
$.ajax({
type: 'POST',
url: '/api/makeBet/',
data: bet,
contentType: 'application/json',
dataType: 'json',
success: function(data) {
if(data.error) {
sweetAlert("Oops...", data.data, "error");
} else {
sweetAlert("Success!", data.data, "success");
}
},
error: function(html, status) {
console.log(html.responseText);
console.log(status);
}
});

但是当我试图得到$request->tournament或其他东西时,我什么也得不到。

您的错误有许多可能的原因。

  • 您的路线
  • 您的控制器
  • 您的锦标赛为空

发布你的代码可以有很长的路要走;同时,这可能会有所帮助:

路线。。。

Route::post('/api/makeBet/', 'YourController@index');

控制器。。。

namespace AppHttpControllers;
use IlluminateHttpRequest;
class YourController extends Controller
{
//
public function index(Request $request)
{
$tournament = $request->tournament //gives tournament
}
}

这对我有用

function filter_by_department()
{
var bet = {
tournament: '',
bo: '1',
bet_team: '2',
betted: '3',
potential: '4',
percent: '5'
};
var token;
token='{{ csrf_token() }}';
console.log(token);
$.ajax({
headers: {
'X-CSRF-TOKEN': token
},
type: 'POST',
url: 'task_department',
data: bet,
dataType: 'html',
success: function(data) {
if(data.error) {
sweetAlert("Oops...", data.data, "error");
} else {
console.log(data);
}
},
error: function(html, status) {
console.log(html.responseText);
console.log(status);
}
});
}

您需要使用 JSON.stringify 首先将对象序列化为 JSON,然后指定内容类型,以便服务器了解它是 JSON。这应该可以解决问题:

var bet = {
tournament: '',
bo: '1',
bet_team: '2',
betted: '3',
potential: '4',
percent: '5'
};
$.ajax({
url: '/api/makeBet/',
method: 'post',
contentType: 'application/json',
data: JSON.stringify(bet),
success: function(data) {
// so something        
}
})

最新更新