##新たに質問をたてました
どうも、根本的問題が別個にありました。
Ajaxでポストしたデータが、送り先側の$_POSTで取得できない
##凍結?
すみません、まとめようと思ったのですがスケジュール的に首が締まってきました。
閲覧いただいた方には申し訳ありませんが、責任を持った経過報告に確信がもてませんので
一旦、ご報告いたします。
いずれ解決したい内容ですので、ここで報告するか、ここを閉じて整理した形で再度あげさせていただこうと思います。
ありがとうございました。
##第三投稿
経過報告です。
これはそもそもAjaxの使い方に対する問題のようでした。
後でまとめますが、submitがうまく停止出来なかったり、input nameに日本語入れていたをserializeして
POSTしようとしましたが、Firefoxで見たらメモリオーバーっぽくなっていたような。
そこで、serializeArrayでJSONを利用しておくることで、ISE500は回避できたけど、受け取り側のお作法がわからない。
などなど、まだまとめてココがわかりません、という次元まで言っていないのでもう少しテストしつつ、調べてわかるとコトわからないところを明確にした後、改めてご報告します。
##第二投稿
ああああ、わかったかも。
ごめんなさい、chromeでも動いた。
送信するform なんですが、name 部分に日本語キーを使ってたのが問題かな…
もうちょっと探ってわからなかったら改めてカキコしてみます
##第一投稿
###発生している問題・エラーメッセージ
POST http://exsample.com/ajax 500 (Internal Server Error)
AJAX超難解だと思っていたら、ブラウザ起因でFirefoxでは正常に動くようです。
ネットでCookieの削除で動いたという話もありましたが、NG。
ついでに
jquery.js:9664 XMLHttpRequest cannot load javascript:void(0). Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
こんなエラーも出てましたが心当たりの方、いますでしょうか?
コードはほぼコレ
html
1$('#the-form').submit(function(event) { 2 // HTMLでの送信をキャンセル 3 event.preventDefault(); 4 // 操作対象のフォーム要素を取得 5 var $form = $(this); 6 // 送信ボタンを取得 7 var $button = $form.find('button'); 8 9 10 // 送信 11 $.ajax({ 12 url: $form.attr('action'), 13 type: $form.attr('method'), 14 data: $form.serialize(), 15 timeout: 10000, // 単位はミリ秒 16 17 // 送信前 18 beforeSend: function(xhr, settings) { 19 // ボタンを無効化し、二重送信を防止 20 $button.attr('disabled', true); 21 }, 22 // 応答後 23 complete: function(xhr, textStatus) { 24 // ボタンを有効化し、再送信を許可 25 $button.attr('disabled', false); 26 }, 27 28 // 通信成功時の処理 29 success: function(result, textStatus, xhr) { 30 // 入力値を初期化 31 $form[0].reset(); 32 alert('OK'); 33 }, 34 35 // 通信失敗時の処理 36 error: function(xhr, textStatus, error) { 37 alert('NG...'); 38 } 39 }); 40});
回答2件
あなたの回答
tips
プレビュー