2017-11-03 1 views
-1

나는이 모든 stackoverflow 게시물을 보았습니다. 이틀 동안 계속 성공하지 못했습니다. PHP 변수에 JavaScript 변수를 전달하려고하는데, 예를 들어 this을 여기 cc.htmlPHP 변수에 javascript 변수를 전달할 수 없습니다

: 여기 cc.php

<!DOCTYPE html> 
<html> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    </head> 
    <body> 

     <script> 
      $(document).ready(function(){ 
       //treehouse code 
       var $my_variable = "something"; 
       $.ajax({ 
        url: 'cc.php', 
        data: {x: $my_variable}, 
        type: 'POST' 
       }); 
      }); 
     </script> 
    </body> 
</html> 

과 :

<?php 
if(isset($_POST['x'])){ 
    echo $_POST['x']; 
} 
?> 
,536 여전히 화면에 지적 인쇄되지 않습니다, 성공하지, 여기에 전체 코드입니다

어떻게해야합니까?

+1

'echo'의 결과에서와 같이 서버 ...에 인쇄되어, 그것이 작동한다면 당신은 그것을 보지 못할 것이다. 더 나은 테스트는'cc.php'가 반환하는 결과를 클라이언트에 표시하는 것입니다. – Ice76

+0

그것이 실행 된 것을 알고 있습니까? – Basti

+0

서버 쪽 스크립트에서 클라이언트의 일부 데이터를 처리하고 결과를 클라이언트에 반환하기 위해 AJAX 호출을 만들 수 있습니다. cc.php에서 바로 결과를보고 싶다면 AJAX가 아니라 원하는 매개 변수를 사용하여 페이지를 cc.php로 리디렉션해야합니다. – spirit

답변

3

AJAX 호출 결과에 아무런 변화가 없습니다.

<!DOCTYPE html> 
<html> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    </head> 
    <body> 

     <script> 
      $(document).ready(function(){ 
       //treehouse code 
       var $my_variable = "something"; 
       $.ajax({ 
        url: 'cc.php', 
        data: {x: $my_variable}, 
        type: 'POST' 
       }).done(function (result) { 
        alert(result); // <--- do something with the result 
       }); 
      }); 
     </script> 
    </body> 
</html> 

을 그리고 당신의 PHP 코드는 변경되지 않습니다 : 콜백 함수를 추가하는 콜백 함수에을 무엇

<?php 
if(isset($_POST['x'])){ 
    echo $_POST['x']; 
} 
?> 

당신에게 달려 있습니다. 당신은 당신이 success: function(data)$('#result').html(data)}을 사용해야 화면에 인쇄 할 경우 등

+0

@ Error404 : PHP 코드의 다른 변수와 똑같습니다. '$ someVariable = $ _POST [ 'x'];'변수를 정의하고 필요한 것을 사용하십시오. – David

+0

@ Error404 : 어떻게'cc.php'를 "실행"하려고합니까? 질문과이 대답에서 무엇을 변경 했습니까? – David

+0

브라우저에서 localhost/cc.php를 통해 실행하고 있습니다. [Here] (https://codepen.io/error303/pen/ooxbKq)은 내 코드입니다 (하나는'cc.html'이고 두 번째는'cc.php'입니다). –

-1

당신은 $.post 너무

$.post("cc.php", { x: $my_variable}); 
+0

전체 작동 코드를 추가 할 수 있습니까? –

+0

이것을 위해 $ .ajax 함수를 바꾸기 만하면됩니다. –

0

을 시도 할 수 있습니다, 콘솔에 로그 값을 alert() 페이지에 어딘가에 쓸 수 있습니다 여기에 코드 예제입니다

  $(document).ready(function() { 
       $('#sub').click(function() { 
        var $my_variable = "something"; 
        $.ajax({ 
         url: 'cc.php', 
         type: 'POST', 
         data: { x: $my_variable }, 
         success: function(data) { 
          $('#result').html(data) 
         } 
        }); 
       }); 
      }); 
관련 문제