javascript.blade.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. let headers = {
  15. @foreach($route['headers'] as $header => $value)
  16. "{{$header}}": "{{$value}}",
  17. @endforeach
  18. @if(!array_key_exists('Accept', $route['headers']))
  19. "Accept": "application/json",
  20. @endif
  21. @if(!array_key_exists('Content-Type', $route['headers']))
  22. "Content-Type": "application/json",
  23. @endif
  24. };
  25. @if(count($route['cleanBodyParameters']))
  26. let body = {!! json_encode($route['cleanBodyParameters'], JSON_PRETTY_PRINT) !!}
  27. @endif
  28. fetch(url, {
  29. method: "{{$route['methods'][0]}}",
  30. headers: headers,
  31. @if(count($route['bodyParameters']))
  32. body: body
  33. @endif
  34. })
  35. .then(response => response.json())
  36. .then(json => console.log(json));
  37. ```