HTMLのformから受取用phpにjson通信でpostデータを送る仕組みを作りました。(クロスドメイン)
PC用のブラウザからは問題なくデータを送信できるのですが、
chromデベロッパーツールのスマホ表示機能、また実機のandroidで試すと405エラーが返ってきて
データの送信を正常に行えません。
リクエストを確認すると、
PCでのJSON通信時には以下のように問題なくPOSTで送れているのですが、
Request URL:https://●●●/post.php
Request Method:POST
Status Code:200 OK
Remote Address:000.000.0.000
Referrer Policy:no-referrer-when-downgrade
スマホ表示で同様の処理を行うと、
Request URL:https://●●●/post.php[object%20FormData]
Request Method:GET
Status Code:405 Method Not Allowed
Remote Address:000.000.0.000
Referrer Policy:no-referrer-when-downgrade
以上のように、GETでリクエストが送られてしまっているので、
405エラーが返ってきます。
これはいったい何が原因なのでしょうか?
ご教示の程よろしくお願い申し上げます。
form.html function send() { var form = $('#form').get()[0]; var formData = new FormData(form); $.ajax({ url: 'https:●●●/post.php', method: 'post', dataType: 'json', data: formData, processData: false, contentType: false }).done(function(json) { alert("成功"); }).fail(function( jqXHR, textStatus, errorThrown ) { console.log( 'ERROR', jqXHR, textStatus, errorThrown ); }); return false; } }); }
※受取側のphpには header('Access-Control-Allow-Origin: *'); と記述しています。
※送信元と送信先は異なるドメインです。
回答1件
あなたの回答
tips
プレビュー