私の AJAX スキルは最低だと認めざるを得ません。私は一連のニュース項目を持っています。約25行。25行すべてを表示する代わりに、配列を5つの部分にスライスし、ユーザーがarray_sliceといくつかのajaxを使用して「さらにロード」できるようにするだけだと考えました。php 側は私にとっては簡単ですが、ajax に問題があります。最善を尽くして組み立てましたが、まだうまくいきません。
AJAX:
<script type="text/javascript">
$(document).ready(function() {
$('#load-more').click(function () {
var size = 5;
var data = 'size=' + content.val() + '&submit=yes';
$('.loading-circle').show();
//start the ajax
$.ajax({
url: "<?php echo $url; ?>/process/load.php",
type: "GET",
data: data,
cache: false,
success: function (html) {
if (html==1) {
}
else {
alert("Sorry, an unnexpected error has occurred.");
}
}
});
return false;
});
});
</script>
load.php
<?php
session_start();
if ($_GET["submit"] == 'yes')
{
$_SESSION["load_size"] = $_GET["size"];
}
?>
index.php
$sorted = Feed::sortFeed($feed, $day, 0, $_SESSION["load_size"]);
foreach ($sorted as $article)
require $baseDir . 'feed.php';
そのため、セッション変数を取得してサイズを決定しようとしています。このアプローチにはいくつかの問題がありますが、回避方法がわかりません。ページごとに複数のニュース フィードが存在する場合があり、ユーザーが 1 つだけを展開したい場合でも、すべて展開されます。その上、フィードはページの更新時にデフォルトの 5 にサイズ変更されません。load.php ページで配列を生成する必要があると考えていますが、ajax を介して戻す方法がわかりません。では、ajax を使用して配列をソートするにはどうすればよいでしょうか。私が読むことができるもの、または私が加えることができるいくつかの簡単な変更はありますか?
ありがとう