Avatar ·

Why does Google add while(1); at the beginning of JSON responses?

Hi everyone! I'm a beginner frontend developer and recently noticed a strange thing when working with Google API. When I make an AJAX request to their servers, the response comes back as JSON, but there's a strange construct before it: `while(1);`. For example, the response looks like this: ```javascript while(1); {"name": "John", "age": 30} ``` At first I thought it was some kind of error or bug. But then I noticed it happens consistently. My JavaScript code stopped working because `JSON.parse()` throws an error due to this prefix. Here's how I was trying to get the data: ```javascript fetch('https://example.com/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); ``` Naturally, this doesn't work because the response is not valid JSON. Can someone explain why Google does this and how to properly handle such responses?