私の問題は、実際には ajax の読み込み自体ではなく、javascript なしで読み込む機能です。つまり、プロジェクト全体を ajax-availability に基づいてコーディングするか、 ajaxを使用せずにコーディングすると、簡単に対処できます。
//編集: アーレンドはすでに多かれ少なかれ有効な答えを持っていましたが、同時に「この質問に対する直接的な答えはありません」. ただし、私のようなシナリオに対する開発者の他のアプローチをいくつか見てみたいと思います! ほんの少しのリンクでも役に立ちます!
基本的に、Javascript を有効にしていないユーザーと有効にしているユーザーの両方が同じエクスペリエンスを持っていることを確認するために、同じページにすべてを 2 回コーディングすることにイライラします。それは面倒で、他の人がこの問題をどのように解決するのかいつも疑問に思っていました.
たとえば、同じ変数に依存する 2 つの div を更新すると、面倒になります。次に例を示します。
非 js バージョン
require 'classobject.class.php';
$another_var = 'something';
$class = new classobject($_POST['variable']); // just an example to show that this is dynamic - I'm aware of injection!
$function = $class->returnsth(); // returns 1
if(isset($_POST)) {
echo '<div id="one">Module 1 says:'; $require 'module_one.php'; echo '</div>';
echo '<br /><br />';
echo '<div id="two">Module 2 says:'; $require 'module_two.php'; echo '</div>';
}
これでmodule_two.php
、module_two.php
$function の戻り変数に応じて異なる方法で実行されるコードができました。お気に入り:
if($function >= 1 && another_var != 'something') {
// do stuff
}
else {
// do other stuff
}
これはリロードで簡単に機能するため、keyUp/enter/submit などで 2 つのモジュールをロードしたい場合、基本的にいくつかの問題があります。
$_POST
それらを使用するには、変数をモジュールに手動で送信する必要があります- クラスとそのメソッドを再実行し、各モジュールファイルでそれらへのリンク(require_once)を作成する必要があります。
- $another_var はモジュールに存在しないため、この変数を各モジュールにも送信する必要があり (たとえば、ポストを使用)、使用する前に、次のように「変更」する必要があります。
$another_var = $_POST['another_var'];
これは少し面倒だと思います。皆さんはどうやってそうしているのでしょうか。私のコーディング方法がばかげていないことを願っていますが、別の方法は考えられません。私の非常に基本的な例に関連付けるのはおそらく難しいですが、プロジェクト全体にコードを含めるのは多すぎます。要約すると、この混乱をコーディングしてクリーンアップするためのより良い方法を探しています-方法があるに違いありません! 私はセッションについて考えましたが、互換性のためにセッションに依存したくありません (誰かが Cookie を許可していない場合)。
私のコードを組み立てる方法で私が達成しようとしていることに関連できない場合は、私がかなり直面しているシナリオを説明します (私の惨めさを既に理解している場合は重要ではありません):
- 基本的に
index.php
、html body と css スタイリングなど、すべてが実行されるページがあります。このページには、インデックスを必要とするページから設定されるいくつかの変数が必要です ($another_var
私の例のように)。 - 他の変数も設定できるようになりました (たとえば、フォームから)。そのさまざまなクラスとメソッドに応じて、モジュールの while ループで使用される新しい変数 (配列) をロードして、すべてをエコーアウトします。
抽象的すぎないことを願っています。訪問元のページ (予約したいイベント) からいくつかの変数が設定され、さらにいくつかの項目 (期間、いくつかの設定など) がユーザーによって設定される予約システムを考えてみてください。最終的には、データベースから最終結果までの結果を表示することになっています。つまり、ユーザーはステップごとに結果を絞り込んでいると言えます。