前提・実現したいこと
こちらのサイトを参考に
Googleフォームを外部サイトに埋め込んで送信を行いました。
送信先のヘッダーレスポンスのステータスコードを取得し、成功か失敗の判定をしたいです。
ChromeとEdgeではJSONPでレスポンスのステータスコードを取得できたのですが、
FireFoxとSafariでは以下のエラーが表示されステータスコードが取得できません。
発生している問題・エラーメッセージ
"X-Content-Type-Options: nosniff" was given and its Content-Type is not a script MIME type. Safari
MIME タイプ (“text/html”) の不一致により “https://docs.google.com/forms/...” からのリソースがブロックされました (X-Content-Type-Options: nosniff)。 FireFox
該当のソースコード
<script> $( function () { $( '#gform' ).submit( function( e ) { e.preventDefault(); $.ajax( { url: 'https://docs.google.com/forms/u/3/d/e/xxxxxxxxxx/formResponse', type: 'POST', timeout: 10000, cache: false, dataType: 'jsonp', data: $( '#gform' ).serialize() } ) .always( function( jqXHR, textStatus ) { if ( jqXHR.status === 200 ) { console.log( '成功', jqXHR.status ); } else { // 404 console.log( '失敗', jqXHR.status ); } } ); } ); } ); </script>
試したこと
こちらのサイトを参考にJSONP以外にもJSONやXMLなどのdataTypeで試しましたが駄目でした。
解決のアイディアをお持ちの方がいらっしゃいましたらご教授いただければ幸いです。
何卒よろしくお願いいたします。
あなたの回答
tips
プレビュー