Skip to content

Instantly share code, notes, and snippets.

@danschumann
Last active January 4, 2021 16:39
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save danschumann/ae0b5bdcf2e1cd1f4b61 to your computer and use it in GitHub Desktop.
Save danschumann/ae0b5bdcf2e1cd1f4b61 to your computer and use it in GitHub Desktop.
How to pass an object from nodejs to frontend
myObject = { ... }
this.injectString = JSON.stringify( myObject ).replace(/\\/g, '\\\\').replace(/"/g, '\\\"')
We only worry about parsing now, since everything should have been properly escaped
<script>
window.myObjectFrontend = JSON.parse("<%- @injectString %>");
</script>
@danschumann
Copy link
Author

  @if(isset($payload))
    {{--*/
      $payload = json_encode($payload);
      $payload = preg_replace("_\\\_", "\\\\\\", $payload);
      $payload = preg_replace("/\"/", "\\\"", $payload);
    /*--}}
    <script>
      window.__payload = JSON.parse("{!!$payload!!}");
    </script>
  @endif

Here's a php blade version. Payload is any object.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment