2016-05-13 16 views
1

test.phpbackend.phpという2つのページがあります。JavaScript変数のデータを別のPHPページに渡すにはどうすればいいですか?

test.phpをがクリックされたときにbackend.phpにユーザーを取る3枚の画像を持っています。クリックした画像のsrcをbackend.phpに表示します。私はJavaScriptとAjaxでこのタスクを達成しようとしていますが、画像のsrcはbackend.phpに表示されません。そのためのコードは、以下に示す:

test.phpを:

<?php 
    session_start(); 
?> 

<html> 
    <head> 
     <script src="jquery-1.9.1.js"> 
     </script> 

     <script> 
      function clickIt(data){ 
       $.ajax({ 
          url: 'backend.php', 
          data: {"imgsrc":data}, 
          type: 'post', 
          success:function(res){ 
           alert(res.message); 
          } 
       }); 
      } 
     </script> 
    </head> 

    <body> 
     <a href="backend.php"> 
      <img onclick="clickIt(this.src)" src="img1.jpg"/> 
     </a> 
     <a href="backend.php"> 
      <img onclick="changeIt(this.src)" src="img2.jpg"/> 
     </a> 
     <a href="backend.php"> 
      <img onclick="changeIt(this.src)" src="img3.jpg"/> 
     </a> 
    </body> 
</html> 

backend.php:私はおそらく間違って

<?php 
    session_start(); 
?> 

<?php 
    echo $_POST['imgsrc']; 
    echo '<a href="test.php">Back</a>'; 
?> 

をしていますか?

+0

は、なぜあなたは ''警告(res.messageを)やっているの? 'メッセージ'はどこから来たと思われますか?あなたは 'alert(res)'を試しましたか?それとも 'console.log(res)'でしょうか。 –

+1

ページをbackend.phpにリダイレクトしたい場合はclicck..and display image there ..その場合、リダイレクトにはajax..use window.location.hrefを使用しないでください。また、urlと一緒に画像ソースを渡します。そうでなければコンソールのimage srcも見ることができます。 –

+0

フェリックスは 'alert(res.message)'だけが成功メッセージを表示します。しかし、現在は未定義と表示されます。いいえ、私はそれらを試していません。 –

答えて

0

これを試してください。

HTML:

<body> 
    <a href="javascript:void(0);"> 
     <img onclick="clickIt(this.src)" src="img1.jpg"/> 
    </a> 
    <a href="javascript:void(0);"> 
     <img onclick="changeIt(this.src)" src="img2.jpg"/> 
    </a> 
    <a href="javascript:void(0);"> 
     <img onclick="changeIt(this.src)" src="img3.jpg"/> 
    </a> 
</body> 

のjQuery:タグはバックエンドに ページがかかるため、タグのbackend.phpで

function clickIt(data){ 
    window.location.href = 'backend.php?imgsrc='+data; // redirect to backend.php 
} 

<?php 
    echo $_GET['imgsrc']; // use $_GET 
    echo '<a href="test.php">Back</a>'; 
?> 
+0

ダーラに感謝、これは私の目的に合っています。 –

0
  1. Clickイベントが発射されていませんタグクリックイベントの前のページ撃たれた。この問題は、各行からタグを削除するだけで解決できます。
  2. json形式でレスポンスをエコーし​​ないので、res.messageとしてajaxレスポンスにアクセスすることはできません。あなたは関数がclickIt

//のみを使用している定義されているようclickItにchangeitとする関数名を変更する。また、単に

  • 変数RESからの応答にアクセスすることができ 成功を決断:機能(RES) { 警告( res);

    }

    <img onclick="clickIt(this.src)" src="img1.jpg"/> 
    <img onclick="clikcIt(this.src)" src="img2.jpg"/> 
    <img onclick="clickIt(this.src)" src="img3.jpg"/> 
    
  • 関連する問題