我有一个代码:
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
}
})