From 07ce7961c99502ea9a9d9870c844c5aae0662ce3 Mon Sep 17 00:00:00 2001 From: Torsten Date: Sat, 11 Jun 2022 11:19:17 +0200 Subject: [PATCH] First working prototype of POST request from JavaScript to Laravel Controller --- .../Controllers/Leagues/LeaguesController.php | 14 ++-- .../views/leagues/chart_swapform.blade.php | 67 +++++-------------- 2 files changed, 23 insertions(+), 58 deletions(-) diff --git a/pfosten/app/Http/Controllers/Leagues/LeaguesController.php b/pfosten/app/Http/Controllers/Leagues/LeaguesController.php index b7e5a337..d50d67c0 100644 --- a/pfosten/app/Http/Controllers/Leagues/LeaguesController.php +++ b/pfosten/app/Http/Controllers/Leagues/LeaguesController.php @@ -220,18 +220,14 @@ class LeaguesController extends Controller $input=$request->input(); Log::info("Params:".sizeof($input)); foreach ($input as $key => $value) { - Log::inf( $key."=>".$value ); + Log::info( ">".$key."=>".$value ); } + + Log::info($request->input('user1', 'not_set')); - //Log::info("Request-param:" . request('user1')); - /* - $user1_id=request('user1_id'); - $user2_id=request('user2_id'); - error_log("User1:".$user1_id); - error_log("User2:".$user2_id); - error_log() - */ + + } public static function showSingleUserMatches($userId) { diff --git a/pfosten/resources/views/leagues/chart_swapform.blade.php b/pfosten/resources/views/leagues/chart_swapform.blade.php index fc871c9d..373d7f66 100644 --- a/pfosten/resources/views/leagues/chart_swapform.blade.php +++ b/pfosten/resources/views/leagues/chart_swapform.blade.php @@ -88,62 +88,31 @@ } alert("Tauschen:\n"+selected_players.join("\n")); - xmlhttp=new XMLHttpRequest() + let url = '/league/swap'; + let token = '{{ csrf_token() }}' - var formData=new FormData() - //alert(inputElems[0].id); - formData.append('user1',inputElems[0].id) - formData.append('user2',inputElems[1].id) - - - let params="user1=test&user2=test2" - - xmlhttp.open("POST",'/league/swap') - xmlhttp.setRequestHeader('Content-Type', 'application/json') - xmlhttp.setRequestHeader('X-CSRF-Token', '{{ csrf_token() }}') - - //xmlhttp.send(params) - - xmlhttp.send(formData) - - return; - // For POST, we need a configuration object for the fetch call - const update = { - title: 'A blog post by Kingsley', - body: 'Brilliant post on fetch API', - userId: 1, - }; - - console.log("Before stringify") - const options = { - method: 'POST', + fetch(url, { headers: { - 'Content-Type': 'application/json', - 'X-CSRF-Token': '{{ csrf_token() }}' + "Content-Type": "application/json", + "Accept": "application/json, text-plain, */*", + "X-Requested-With": "XMLHttpRequest", + "X-CSRF-TOKEN": token }, - body: JSON.stringify(update), - }; - console.log(JSON.stringify(update)) - console.log("After stringify") - - fetch('/league/swap', options) - .then(data => { - if (!data.ok) { - throw Error(data.status); - } - return data.json(); - }).then(update => { - console.log(update); - }).catch(e => { - console.log("There is some error") - alert(e) - console.log(e); + method: 'post', + credentials: "same-origin", + body: JSON.stringify({ + user1: inputElems[0].id, + user2: inputElems[1].id + }) + }).then((data) => { + window.location.href = redirect; + }) + .catch(function(error) { + console.log(error); }); } - - })