我要如何让onload结果以传参到的方式到httpsgenshinvoicetopapi避免出现跨域请求问题htmlaudio id=audioPlayer controlsaudio2 在JavaScript代码中将音频请求的URL发送到服务器并在请求成功后将返回的音频数据赋值给音频播放器的src属性:javascriptaudioXhronload = function var au
要解决这个跨域请求问题,可以使用JSONP或者设置CORS(跨域资源共享)来实现。
- 使用JSONP:在发送请求时,将音频请求的URL包装在一个回调函数中,并将回调函数的名称作为参数传递到服务器端。服务器端在返回数据时,将数据作为参数传递给回调函数并返回。这样就可以绕过跨域请求的限制。
audioXhr.onload = function () {
var audioPlayer = document.getElementById('audioPlayer');
var callbackName = 'audioCallback';
window[callbackName] = function (response) {
audioPlayer.src = URL.createObjectURL(response);
};
var script = document.createElement('script');
script.src = url + '&callback=' + callbackName;
document.body.appendChild(script);
};
- 设置CORS:在服务器端的响应头中添加
Access-Control-Allow-Origin字段,将其值设置为允许访问的域名。这样就可以允许从其他域名发起的跨域请求。
在服务器端的响应头中添加以下字段:
Access-Control-Allow-Origin: https://ai.3dlingyu.com
请注意,这需要你对服务器端进行配置,如果你没有控制服务器端,无法修改响应头的话,则无法使用此方法解决跨域请求问题。
原文地址: https://www.cveoy.top/t/topic/i2Ja 著作权归作者所有。请勿转载和采集!