1
JQueryUIを使用してソート可能なリストがあり、JQueryの各関数を使用してAJAXリクエストを使って基本PHPファイルに保存します。リクエストはうまくいくようです(Firebugコンソール)が、PHPファイルによってすべてが保存されているわけではなく、一貫性がないように見えるすべてのものが悪化しています。いくつかのIDは失敗する可能性が高いですが、リストに!それは本当に奇妙な、任意のアイデアですか?複数のAJAXリクエストでデータベースの更新が一貫しない
私はGET/POST、sync/asyncを試してみましたが、違いはありませんでした。
Javascriptを
function SaveChanges() {
priority = 0;
$("#p_menu li").each(function() {
if($(this).attr("class") != "range") {
$.ajax({"url": "lib/product-menu-save.php", "data": "pm_id="+this.id+"&priority="+priority, "type": "GET"});
priority++;
}
});
}
PHPファイル
<?php
require_once '../includes/adminsession.php';
require_once '../lib/mysql.php';
$pm_id = $_GET['pm_id'];
$pm_priority = str_pad($_GET['priority'], 4, '0', STR_PAD_LEFT);
$save_stmt = $db->prepare("UPDATE products SET priority = ? WHERE id = ?");
$save_stmt->bind_param('si', $pm_priority, $pm_id);
if(!$save_stmt->execute()) echo $save_stmt->error; else echo 'SUCCESS';
データは、AJAXリクエストに入る正常に見えると成功はすべてのリクエストに対して返されます。関連性がある場合、約60項目あります。
60件のAJAXリクエストではなく、リストを作成して1回のリクエストで提出するのはなぜですか? –
JSON文字列として?それが60件のリクエストとして機能しない理由は何ですか?それとも単なる推薦ですか?パフォーマンスは問題ではありませんが、メソッドを変更するだけで動作させることができます。私はこれを困惑しましたか? – MattP
JSON、2つのカンマ区切りのパラメータ(IDの場合は1つ、優先順位の場合は1つ*)は、クライアントとサーバー間の通信を最小限に抑えることができると思います。 –