пятница, 17 августа 2012 г.

Эхо jQuery 1.2.3

Понадобилась красивая табличка для одного web-приложения, посмотрел несколько плагинов, остановился на flexigrid. Сначала обустроил его под себя, начал переносить в проект, и тут выяснилась ужасная вещь, он не работает с jquery 1.8. После около 30 минут допроса Гугла, выяснил, что всё не так плохо. Начиная с версии 1.6, jquery  стал более строго относится к JSON.
Итак, передо мной встал вопрос перейти на xml который flexigrid тоже поддерживает или поправить JSON. Конечно же JSON! К тому же исправлять оказалось нужно совсем немного: добавить названия блоков в кавычки и изменить одинарные кавычки двойными.
Вот так было:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-type: text/x-json; charset=UTF-8");
$json = "";
$json .= "{\n";
$json .= "page: $page,\n";
$json .= "total: $total,\n";
$json .= "rows: [";
$rc = false;
while ($row = mysql_fetch_array($result)) {
//echo $row['soname']."
";

if ($rc) $json .= ",";
$json .= "\n{";
$json .= "id:'".$row['nd']."',";
$json .= "cell:['".ndog($row['nd'])."','".$row['name2']."','".$row['name']."', '".$row['soname']."'";
$json .= ",'".$row['phones']."']";
$json .= "}";
$rc = true;
}
$json .= "]\n";
$json .= "}";
echo $json;

Вот так стало:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-type: text/x-json");
$json = "";
$json .= "{\n";
$json .= '"page": "'.$page.'", ';
$json .= '"total": "'.$total.'", ';
$json .= '"rows": [';
$rc = false;
while ($row = mysql_fetch_array($result)) {
if ($rc) $json .= ",";
$json .= "\n{";
$json .= '"id":"'.$row['nd'].'",';
$json .= '"cell":["'.ndog($row['nd']).'","'.$row['name2'].'","'.$row['name'].'", "'.$row['soname'].'"';
$json .= ',"'.$row['phones'].'"]';
$json .= "}";
$rc = true;
}
$json .= "]\n";
$json .= "}";
echo $json;

Комментариев нет :

Отправить комментарий