For me, it was the settings for wordpress address and site address; they had the wrong protocol. That meant the json request couldn’t be fulfilled, it was if you navigated to the url.
So for me it was a simple, if obfuscated seeing as i started to think it was a server thang.
Hopefully this helps someone.