0

私が持っているカスタムphpスクリプトにPOSTするMagentophtmlファイルにajaxを含むjQueryがあります。私がやりたいのは、カスタムphpスクリプトでMagentoセッションを作成することです。この値は、ajax呼び出しが行われるphtmlファイルで利用できます。

たとえば、phtmlファイル(カテゴリリストページ)にはajax呼び出しがあります。

$.ajax({     
type: "POST",     
url: "/php/process.php",     
data: dataString,     
success: function(){       
location.reload();
    }     
    });

これは私のカスタムphpスクリプト(process.php)を正常に呼び出します。

process.phpには、テスト用の次のコードが含まれています。

require_once ("/app/Mage.php");
umask(0);
Mage::app();  
$returnedString= "123";
Mage::getSingleton('core/session')->setMyValue($returnedString);

また、session_start()でこれを試しました。

これで、セッションをテストするためのphtmlファイルがアクティブになり、次のテストコードがあります。

if(Mage::getSingleton('core/session')->getMyValue()=='123'):
   echo "Session created";
else:
   echo "Session not created";
endif;

phtmlファイルにセッション配列を表示すると、セッションも表示されません。どこが間違っているのかわかりません。

どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1

1

あなたがしようとしていることは不可能です。phtmlファイルは、サイトへの最初のリクエストで解釈されません。解釈後、サーバーからの応答としてjavascriptを含むhtmlファイルを取得します。その後、ブラウザはJavascriptを解釈し、ajax呼び出しを実行します。これはまったく新しいリクエストです。phtmlファイルは再度レンダリングまたは解釈されません。

いくつかのコンテンツを使用してサイトを実現したい場合は、ajax呼び出しへの応答としてそのコンテンツを提供する必要があります。

于 2013-01-25T12:49:28.317 に答える