1
我有一個使用JQueryUI的可排序列表,並使用JQuery Each函數將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請求,爲什麼不創建一個列表並提交一個請求? – 2012-02-23 11:02:33
作爲JSON字符串?爲什麼它不能按60個請求工作?或者這只是一個建議。性能不是問題,但改變方法可能會使它工作。我難住這一個! – MattP 2012-02-23 11:37:53
JSON,兩個逗號分隔的參數(*一個用於ID,一個用於優先級*),任何您認爲可以最小化客戶端 - 服務器通信的方式。 – 2012-02-23 11:40:30