0

ajax経由でcatalog/layer/view.phtmlファイルを呼び出したいと思います。

コードにまったく変更はありません。すべて同じですが、ajax で view.phtml を呼び出したいだけです。

<reference name="left">
<block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml"/>
</reference>

次の jquery コードを使用します。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

<script type="text/javascript">
    $(function() {
    $("#showsearch").load("/app/design/frontend/default/mytheme/template/catalog/layer/test.phtml", function(response, status, xhr) {    alert(response);   
});
     });
</script>
<div id="showsearch"></div> 

jquery コードを view.phtml に配置しましたが、404 エラーが返されます。

私は完全に不可能なことをしていますか、それとも他の方法で行うことができますか?

4

1 に答える 1

0

JavaScript を使用する.load()と、ブラウザのアドレス バーに通常入力する URL のみを使用できます (JS はクライアント側であるため)。この方法でサーバーの絶対ファイル パスを使用することはできません。

このファイルをロードするには、基本的に次のオプションがあります。

  1. サーバーの上にファイルを配置しますDocumentRoot(つまり、ファイルがある可能性が最も高い場所index.php、多くの場合、public_htmlまたはwww)
  2. PHP を使用してインクルードします。<?php include($yourAbsolutePath); ?>

ファイルをロードするために AJAX を使用したいので、あなたができる最善のことは.load()、あなたの上にある PHP ファイルとDocumentRootそこinclude()からのファイルです。


  1. DocumentRoot(例: myFile.php)に .php ファイルを作成します。
  2. 次の myFile.php を配置します。

    <?php include('/app/design/frontend/default/mytheme/template/catalog/layer/test.phtml'); ?>
    
  3. .load()行を次のように変更します。

    $("#showsearch").load("/myFile.php", function(response, status, xhr) { ...
    
于 2012-06-23T08:45:28.460 に答える