我知道有很多像这样的问题,但我真的无法找到问题所在。
我需要使用原生Javascript从外部网址获取JSON。
我已经这样做了:
loadUserData('http://ip-api.com/json', 'setUserData');
function loadUserData(url, callback)
{
var s = document.createElement('script');
s.src = url + '?callback=' + callback;
document.body.appendChild(s);
}
当我收到这个网址时,一切正常,回调被调用,没有错误,每个人都很开心。
但是,当我尝试从我的虚拟主机获取json时,我在这个json的开头就出现了Javascript错误
意外的令牌:
我主机上的json包含大对象,用PHP json_encode
编码,如
$data = new StdClass;
$data->id = $id;
$data->admin = 1;
$data->user = User::find(Auth::user()->id);
$data->websites = [1, 2, 3];
Storage::put('mysjon', json_encode($data));
最有趣的部分是我尝试从ip-api复制字符串并将其放在我的主机上(没有任何额外的编码,就像字符串一样,所以在浏览器中它看起来就像ip-api上的原始字符串网站),我也有同样的错误。如何从一个URL轻松加载同一个字符串并从另一个URL加载时导致js错误?
非常感谢任何可能的帮助!