1

ajax関数を介してjavascriptからphpに配列を送りたいです。結果をコールバックとして表示するのではなく、すぐにターゲットのphpファイルを開いて画像を表示します。つまり、サーバー側で直接phpファイルを開きたいのです。

これは非常に簡単だと思いますが、私にはわかりません。

私のJavaScriptは次のようになります:

var stringArray = new Array("/images/1.jpg", "/images/2.jpg", "/images/3.jpg");
$.ajax({
     url: 'test.php',
     data: {stringArray:stringArray},
     success: function() {
              window.open('test.php'); // It opens test.php in a window but shows nothing! 
     },
});

test.php ファイル:

$stringArray = $_GET['stringArray'];
foreach($stringArray as $value) {
   echo "<img src=" . $value . "></img>";
}

助けてくれてありがとう!

4

4 に答える 4

1

ご覧のとおり、post メソッドでデータを送信し、test.php でアクセスしていますが、window.location を介してファイルを開くと、POST データが取得されないため、データが入力されません。

$_SESSION 経由で実現できます。test.php で

 session_start();

 if(!empty($_POST['stringArray'])) {
    $_SESSION['stringArray'] = $_POST['stringArray'];               
 } 

 $stringArray = (isset($_SESSION['stringArray']) && $_SESSION['stringArray'] != '') ? $_SESSION['stringArray'] : $_POST['stringArray']; 

 foreach($stringArray as $value) {
   echo "<h3>" . $value . "</h3>";
}

これがうまくいくことを願っています...

于 2013-04-30T12:19:22.647 に答える
0

コールバックでページを開くと、post 変数を介してテスト ページに何も送信されないため、出力は表示されません。なぜこれをやりたいのか、私にはわかりません。URLを介して情報を送信し、取得します。

于 2013-04-30T12:20:17.820 に答える