我只是无法在Safari中获得json响应,调用SoundCloud的API.
var inputSet={url:setUrl},
clientId={client_id:client_id};
$.getJSON( "https://api.soundcloud.com/resolve.json", $.extend(inputSet, clientId), function( data ) {
console.log(data);
});Run Code Online (Sandbox Code Playgroud)
这会在Safari中返回Origin Access-Control错误,但不会在Chrome中返回.CORS根本不起作用.
Saw CORS根本没有工作,实现了"工作"答案,完全相同的错误,只有Safari.
添加一个回调参数不会返回该错误,但是返回ajax错误
"parsererror" SyntaxError {},我认为这是由于响应仍然是json而不是jsonp.这在任一浏览器中都不起作用.
目前我无法让这个跨域请求在chrome中工作,即使是文档
https://developers.soundcloud.com/docs#crossdomain
说我可以.
Safari网络标签:

Safari响应:
[Error] Failed to load resource: Origin https://seam.li is not allowed by Access-Control-Allow-Origin. (17235000.json, line 0)
[Error] XMLHttpRequest cannot load https://api.soundcloud.com/playlists/17235000.json?client_id=CLIENT_ID. Origin https://seam.li is not allowed by Access-Control-Allow-Origin. (seam.li, line 0)Run Code Online (Sandbox Code Playgroud)
链接页面在浏览器中加载正常.
我做了一个菜单,刚才我补充道
<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)
到文件,它停止运作.但是代码仍在运行,仍然会在鼠标悬停时打印到控制台等.我尝试了其他doctypes并且它们也打破了它,它只是保持静态.
什么是可能导致JavaScript不起作用的doctype?
JS:
var total_width = "960";
var slide_width = "182";
var slide_margin = "10";
var expand_width = "374";
var icon_width = "32";
var icon_margin = "15";
var slide_number = "5";
function slideid(i) {
var m = document.getElementById("slide"+i);
var l = document.getElementById("slideimg"+i);
var k = document.getElementById("slidetext"+i);
var j = document.getElementById("slidediv"+i);
return [m, l, k, j]
}
function compat() {
if (window.opera) {
for (var i=1;i<6;i++) {
s = slideid(i);
s[3].style.position="relative";
s[3].style.bottom="46px";
}
}
if (document.all && !(window.opera)) …Run Code Online (Sandbox Code Playgroud) SoundManager2出现数据错误,我无法想象任何东西?
要么
我无法访问这首歌,权限被拒绝了?
要么
它在我第一次播放时有效,但如果我暂停播放它,我会收到数据错误?