AJAXを使用したPOSTリクエストに少し問題があります。データがデータベースに保存されていないようです。POSTの代わりにGETを使用すると機能しましたが、問題は、ページ上のキャンバスからのimagedataであるため、大量のデータを送信することです。送信するデータのサイズを印刷して、送信する前に実際に正しいことを確認しようとしました(長さは約10500文字でした)。
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());
}
どんな助けでも大歓迎です。ありがとう!