2011-11-10 17 views
0

私の問題:フォーム要素と単純な文字列をmysql dbに渡すためのajaxコードがありますが、mysqlにdataURLを保存することができません私はそれを通過している方法。html5キャンバスDataURLをmySQLに保存する

私は

xmlhttp.open("GET","gethint.php?q="+str,true); 
xmlhttp.send(); 

は私がdataURLとして(文字列)を警告することができます使用していますし、それが正常に表示されますが、私はdataURL内の文字によるPHPページに送信することはできませんよ。私はstr = "cheese"を設定でき、データベースをチーズに設定しているので、自分のコードが動作することを知っています。

どうすればこの問題を回避できますか?私は "ポスト"を調べましたが、それが私にも役立つかどうかはわかりません。

答えて

0

GETは潜在的に非常に長くなる可能性があり、データを渡すことするのに最適な場所ではありません

感謝。ブラウザーには、照会ストリングの長さに制限があり、それはすべてのブラウザーで異なります。

と言われていますが、dataurlに「悪い」文字が含まれているため、URLで有効にするにはencodeURIComponent()に渡す必要があります。

ただし、POSTの使用に切り替えることを検討してください。URLのようにクライアント側の長さ制限はありません。

+0

POSTを使用しても、「gethint.php?q =」のようなURLクエリ文字列にそのまま渡しますか? 私は非常にajaxです。また、データベースにdataURLを取得するより良い方法はありますか?私は将来この問題を解決する必要がありますし、encodeURLComponent()がdataURLを実行しようとすると、恐れ入ります。 – Dom

+0

いいえ。投稿のURLにクエリパラメータを使用できますが、投稿データは一般にリクエストボディ。アヤックスは特別なものではありません。ブラウザのフロントエンドで(フォームを送信するときなど)あなたが "見る"という通常のHTTPリクエストを受け取り、代わりにバックグラウンドで実行させるだけです。 hype/buzzwordsを取り除くと、まだ通常のHTTP要求に過ぎません。 –

+0

私はこのプロジェクトのために何をすべきか分かっていません。私の最終目標は、キャンバスに描かれたものを取り出してデータベースに保存して、ユーザーがアクセスして後で変更できるようにすることでした。これは、html5を使用するタブレット用のスライド注釈アプリケーションです。あなたはこれについて良い方法を考えることができますか?その重要なことは、スライドのために画像を保存するのではなく、教授によって絶えず変更されていることですが、私は学生の注釈を同じままにしておきたいのです。 – Dom

関連する問題