2012-01-15 21 views
-1

私はページングのために書いたPHPスクリプトクラスを用意しています。これはうまくいくが、私のサイトとjQueryとPHPを組み合わせるようになっていくにつれて、PHPとjQueryのajax呼び出しを組み合わせてページングを行うことを強く感じる。PHPまたはjQuery/PHPページ区切り

私の質問、または懸念があり、任意の有用なフィードバックをいただければ幸いです:?

A)私はjQueryのを使用している場合、私はもはや例products.phpを持っていないことを基本的な前提でページ= 2ではなく、products.phpだけでjQueryがAJAXを使用してコンテンツをプルするので、ページはリロードされませんが、SEOは実際のURLをページに必要としませんか? Googleは結果をどのようにインデックスに登録しますか?

b)読むのは2種類のチュートリアルです。 PHPを使用してすべてのコンテンツがサーバーから収集され、ページに分類されてページングが実質的に即座に行われるようなものです(初期ロードは長くなりますが、ページングは​​オンザフライで、もう1つは独立したajax呼び出しがユーザからのオプション)。どのラウンドでもベストプラクティスとみなされます(ローディング、SEO、ユーザーエクスペリエンス)。

良い資料やチュートリアルへの参照は素晴らしいでしょう。

+0

Google *は* Ajaxアプリケーションをクロールできます:http ://code.google.com/web/ajaxcrawling/docs/getting-started.html – casperOne

答えて

1

ちょうど質問a):あなたが正しく想定されているため、JSが有効になっていないユーザーとGoogleのようなクローラーがあるため、これらのリンクがもうなくなるわけではありません。したがって、「products.php?page = 2」のようなリンクは、今後数年間は確実に生き残ります。

<a href="products.php?page=2" onclick="loadPage('products.php',2);return false;"> 
Next Page 
</a> 

EDIT: しかし、ここでは、JS、それを有効にしている人のためのAJAXの可能性のないSEO /ユーザーを組み合わせることが可能であるあなたも多分loadProductsFrom('get_products.php', 2);機能がロードすることによって、onlclickに別のPHPスクリプトを実行することができますJames Smithsと同様のサーバーのJSON製品オブジェクトがAJAXを介して回答し、ユーザーに表示します。これはおそらくトラフィックとダウンロード時間を減少させますが、さらにいくつかの(またはそれ以上の)オーバーヘッドを引き起こします。この場合、ユーザーの利益は明らかです。

+0

それで、ユーザーがJSをオンにしているかどうかにかかわらず、効果的に私は同じスクリプトを実行します。しかし、それをアヤックスのやり方でやることのメリットは何でしょうか?私は私も同様にPHPの方法に固執する可能性があります:P – mauzilla

+0

はい、誰もが(特にクローラ)JSを利用するわけではないので、私が言ったとおりです。そして、そうではない人たち。あなたは昔のやり方ではないのに、彼らと何をしたいのですか? Ehm ..利点は、すべてのユーザーのためのものです、彼らは涼しいのページをリフレッシュする必要はありません:) – Matmarbon

0

別のオプションは、例えばのためのjavascriptオブジェクトにすべてのデータをロードすることです:

$strSql = "Select * from products"; 
$objResult = mysql_query($strSql); 
$arrData = array(); 
while($objRow = mysql_fetch_array($objResult)){ 
$objData = new stdClass(); 
$objData->name = $objRow['name']; 
/* add more data here */ 
$arrData[] = $objData; 
} 
<script type="text/javascript"> 
var arrData = <?php echo json_encode($arrData); ?> 
</script> 

今、あなたはどのjqueryのページネーションプラグインにこのarrDataを渡すことができ、それは、すべてのページネーションの仕事の世話をしますデータが圧縮されているので、読み込み時間も向上します。 これは役に立ちます..