2016-09-09 1 views
0

안녕하세요. processing.js에 PHP 값을 전달하는 방법이 필요합니다. 어떻게해야합니까? AJAX를 사용해야한다는 것을 알고 있지만 processing.js에서 가치를 암기하기 위해 무엇을해야할지 모르겠습니다. 그processing.js에 PHP 변수를 전달하는 방법

<script type="text/javascript"> 
function go(){ 
     var s; 
    var variable = 5; 
    $.ajax({ 
     method:"POST", 
     tupe:"POST", 
     url: "take.php", 
     data:({val:variable}), 
     success: function(data){ 
      //$('#msg').html(data); 
          var b = data; 
          s=b; 
     } 

    }); 
      alert (s); 
    } 
</script> 

같은 것을 tryed했습니다 내 PHP는 다음과 같습니다

<?php 
if($_POST){ 
    $img = "index.jpg" ; 
    echo $img; 

} 
?> 

하지만 난 경고를 할 때 ''는 정의되지 그리고 난에 처리 코드로 전달하는 방법을 잘 모릅니다 이미지를 캔버스에 표시합니다. 누군가 나를 도와 줄 수 있습니까?

+0

더 나은 방법은 PHP에서 JSON 형식으로 출력하는 것입니다. – Devon

+1

응답을 받기 전에 알림이 실행 중입니다. 응답에서 반환 된 값을 사용하려면 success 콜백에 넣어야합니다. –

답변

2

Ajax는 비동기입니다. 즉, ajax 호출이 실행되는 동안 스크립트는 계속됩니다.

s 변수는 ajax 호출이 완료 될 때까지 success 함수에서 정의됩니다. 스크립트에서 아약스 호출 직후 (그러나 시간 내에) 아직 정의되지 않았습니다.

ajax 호출에서 반환 된 변수에 액세스하려면 로직을 success 함수에 넣어야합니다.

0

다른 대답은 정확하지만 다른 옵션은 동기 호출을 사용하는 것으로 데이터가 반환 될 때까지 ajax()에 대한 호출이 차단됩니다. 이것이 당신이 일하는 것으로 생각한 것처럼 보입니다. 여기

$.ajax({ 
     method:"POST", 
     tupe:"POST", 
     url: "take.php", 
     data:({val:variable}), 
     success: function(data){ 
      //$('#msg').html(data); 
          var b = data; 
          s=b; 
     }, 
     async: false 
    }); 

상세 정보 : How can I get jQuery to perform a synchronous, rather than asynchronous, Ajax request?

그리고 JQuery documentation의를

는이처럼 ajax() 전화에 async:false 매개 변수를 전달, 동기 호출을 확인하십시오.