2

私は W3 Schools の AJAX PHP Example (http://www.w3schools.com/ajax/ajax_aspphp.asp) を、MySQL データベースではなくLocalStorageに格納されたデータを使用するゲストリスト Web アプリの基盤として使用しています。ユーザーがオフラインで検索できるようにします。今、私は検索ゲストの部分を完成させようとしています。

これがどのように機能するかです (上記の例とは異なります):

  1. (index.php)。MySQL db のすべてのレコードを javascript 配列に配置/ミラーリングする
  2. (index.php)。上記の js 配列を LocalStorage に格納する
  3. (index.php)。例で使用されている AJAX GET コードを使用して、検索された項目を getData.html (W3 のように php ファイルではなく html ファイル) に送信します。
  4. (getData.html)。URL パラメーターを介して検索されたアイテムを正常に取得する
  5. (getData.html)。上記の例のように、値をループして一致させます (コードは JavaScript で書き直されます)。

しかし、ここで私の成功は終わります。AJAX コードは上記の例と同じで (もちろん getData.html への参照を除いて)、それ以外はすべて機能しているように見えるので、コード全体については説明しません。言及された例では、PHPファイルの一番下に

    //output the response
    echo $response;

これは、JavaScriptが失敗しているように見える場所です。私は必死に応答をエコー/出力しようとしましたが、何らかの理由でindex.php に正しく返されません。少なくとも何かを強制的に表示する唯一の方法は、php echo を使用するか、単純に HTML タグ内の getData ドキュメントのどこかに単純な HTML テキストを書き込むことです。getElementById('txtHint').innerHTML = "hello"; も試しました。動作するかどうかを確認しますが、成功しません。

これを行う最も明白な方法は、単純に echo $response を js の同等のものに置き換えることです。

    document.write(response);

しかし、どんな document.write が印刷されても、何も表示されません。「ヒント」がポップアップするはずの div はまだ空です。私は解決策、js変数を印刷するさまざまな方法をグーグルで検索しましたが、それ以上成功しませんでした。おそらく、document.write は XML または AJAX responseText と「互換性」がないのでしょうか? これには簡単な解決策があるはずです。皆さんが私を助けてくれることを願っています。ありがとう!

4

1 に答える 1

0

php はもちろん、ページを発行してバックエンドで実行するサーバー側の言語です。
js はもちろん、ユーザーのフロント エンドで実行されるクライアント側の言語です。
document.write() は、クライアント側のテキストを発行するための適切な関数です。ページの読み込み時に実行されます。例:

<b>My domain is: <script>document.write(document.domain);</script></b>

適切に与える

私のドメインは: www.mydomain.com

于 2013-03-20T22:04:46.080 に答える