javascript.blade.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. ```javascript
  2. const url = new URL(
  3. "{{ rtrim($baseUrl, '/') }}/{{ ltrim($route['boundUri'], '/') }}"
  4. );
  5. @if(count($route['cleanQueryParameters']))
  6. let params = {
  7. @foreach($route['cleanQueryParameters'] as $parameter => $value)
  8. "{{ $parameter }}": "{{ $value }}",
  9. @endforeach
  10. };
  11. Object.keys(params)
  12. .forEach(key => url.searchParams.append(key, params[key]));
  13. @endif
  14. @if(!empty($route['headers']))
  15. let headers = {
  16. @foreach($route['headers'] as $header => $value)
  17. "{{$header}}": "{{$value}}",
  18. @endforeach
  19. @if(!array_key_exists('Accept', $route['headers']))
  20. "Accept": "application/json",
  21. @endif
  22. @if(!array_key_exists('Content-Type', $route['headers']))
  23. "Content-Type": "application/json",
  24. @endif
  25. };
  26. @endif
  27. @if(count($route['cleanBodyParameters']))
  28. let body = {!! json_encode($route['cleanBodyParameters'], JSON_PRETTY_PRINT) !!}
  29. @endif
  30. fetch(url, {
  31. method: "{{$route['methods'][0]}}",
  32. @if(count($route['headers']))
  33. headers: headers,
  34. @endif
  35. @if(count($route['bodyParameters']))
  36. body: body
  37. @endif
  38. })
  39. .then(response => response.json())
  40. .then(json => console.log(json));
  41. ```