2
AJAXを使用したPOSTリクエストに少し問題があります。データはデータベースに格納されていないようです。 POSTの代わりにGETを使用したときはうまくいきましたが、ページ上のキャンバスからimagedataなので、膨大な量のデータを送信するという問題があります。私は送信される前に実際に正しいことを確認するために送信されるデータのサイズを印刷しようとしました(それは約10500文字長でした)。ここでAJAXリクエストが機能しない(POST)
はJavascript/AJAXコードです:
if(type == "DrawingData" && Drawer)
{
var CanvasData = canvas.toDataURL("image/png");
var url = "DB_Com.php";
var params = "DrawingData="+CanvasData;
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
}
そしてここでは、PHPコードです:
if(isset($_POST['DrawingData']))
{
$Image = mysql_real_escape_string($_POST['DrawingData']);
$query = "UPDATE BlackboardDrawing SET Data = '$Image'";
mysql_query($query) or die(mysql_error());
}
すべてのヘルプは高く評価されています。 ありがとう!
"データの膨大な量" の問題点は何ですか?あなたが "GET制限"のために落ちたと言わないでください... – Shikiryu
実際には私はそれがPHP POSTの制限だと思います。 http://www.php.net/manual/en/ini.core.php#ini.post-max-size。 Firebug for FirefoxでAjaxリクエストが返すものを確認してください。 – talereader
@Shikiryu GETの制限エラーが発生しましたか?とにかくそれをオーバーライドするか、サイズを変更するには? – Araw