###前提・実現したいこと
実現したいことは、html上にある画像をゾーンにドロップしたときに、その画像をphpに送信。
phpでは、そのデータを受け取り、受信がちゃんとできているかの確認メッセージを再びhtmlに送信する、といったものを作成したいと考えています。ちなみに、非同期通信でブラウザ上での遷移はしないものを考えています。
jQueryを使うのは、初心者で手探りな状態です。
解決に役立つアドバイスをもらえればと思います。よろしくお願いします。
###発生している問題・エラーメッセージ
phpへ送ったデータをうまく受信できていない。
$_POST['data']
###該当のソースコード
[html側]
<script type="text/javascript" charset="utf-8"> $(function(){ // 「#droparea」エリアにドロップされた時の処理 $('#droparea').droppable({ ...... drop: function(ev, ui){// ドロップが完了したときの処理 ...... $(function(){ var data = {'data' : testdata}; $.ajax({ url:'./jquery.php',// 送信先のURL type: "POST",// メソッド名 contentType: false,// サーバから(ブラウザに)送信するデータの形式 processData: false,// 文字列でないパラメータを文字列に変換するか dataType: 'json',// サーバから(ブラウザに)受信したデータの形式 data: data// サーバに送信するデータ }) .done(function(data){// 通信が成功した場合の処理 console.log("success " + data);// 確認メッセージ用 $('#result').html(data);// phpから受信 }) .fail(function(jqXHR, textStatus, errorThrown){// 通信が失敗した場合の処理 console.log("error " + data);// 確認メッセージ用 $('#result').html(data); }); return false; }); } }); }); }); </script>
[php側]
<?php header("Content-type:application/json; charset=utf8");// if($_POST['data'])//ブラウザからデータを正しく受信したときの処理 { $success = "成功"; echo json_encode($success); } else//ブラウザからデータを正しく受信できなかったときの処理 { $error = "失敗"; echo json_encode($error); } ?>
###試したこと
今は、通信がうまく言っているかを確認するために「data:」の部分には'data'という文字を送ってみました。
###補足情報(言語/FW/ツール等のバージョンなど)
jQueryを用いて書いています。バージョンは1.8です。
回答2件
あなたの回答
tips
プレビュー