У меня есть 2 файла в облачном хранилище Google: a.wav и b.txt
Я хочу воспроизвести a.opus в своем браузере, который работает нормально.И я хочу прочитать b.txt
Google Docs , чтобы сказать, что если пользователь прошел проверку подлинности в браузере, он может загрузить объект из корзины.
<audio
controls
src="https://storage.cloud.google.com/bucketPath/a.wav" type="audio/ogg; codecs=opus">
Your browser does not support the
<code>audio</code> element.
</audio>
Это получает a.wav и играет это.Нет проблем.
Теперь, чтобы прочитать b.txt, я использую jquery ajax
$.ajax({
url: "https://storage.cloud.google.com/bucketPath/b.txt",
type: "GET",
xhrFields: {
withCredentials: true
},
crossDomain: true
}).done(function (data) {
console.log( data );
}).fail(function( jqXHR, textStatus, errorThrown ) {
alert( "Request failed: " + textStatus + " , " + errorThrown );
});
Но это дает мне ошибку, и в консоли выводится следующее:
Доступ к XMLHttpRequest по адресу 'https://storage.cloud.google.com/bucketPath/b.txt' от источника' url 'заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок' Access-Control-Allow-Origin '.
Кроме того, на вкладке Сеть я вижу, что wav-файл получил ответ 206.
Но для txt-файла я получаю статус как (canceled)
ПочемуАудио элемент работает, но ajax не работает?