programing

AJAX를 사용하여 변수를 PHP로 전달하고 AJAX를 사용하여 변수를 다시 검색

lastmoon 2023. 8. 25. 23:56
반응형

AJAX를 사용하여 변수를 PHP로 전달하고 AJAX를 사용하여 변수를 다시 검색

저는 PHP 스크립트에 값을 전달하고 싶어서 AJAX를 사용하여 전달하고 있으며, 같은 기능으로 다른 AJAX를 사용하여 해당 값을 검색하고 있습니다.

문제는 두 번째 AJAX가 PHP 파일에서 어떤 값도 검색하지 않는다는 것입니다.왜 이러한가?두 번째 AJAX가 검색할 수 있도록 PHP 스크립트에 전달된 변수를 저장하려면 어떻게 해야 합니까?

내 코드는 다음과 같습니다.

AJAX 코드:

$(document).ready(function() {    
    $("#raaagh").click(function(){    
        $.ajax({
            url: 'ajax.php', //This is the current doc
            type: "POST",
            data: ({name: 145}),
            success: function(data){
                console.log(data);
            }
        });  
        $.ajax({
            url:'ajax.php',
            data:"",
            dataType:'json',
            success:function(data1){
                var y1=data1;
                console.log(data1);
            }
        });
    });
});

PHP 코드:

<?php
$userAnswer = $_POST['name'];    
echo json_encode($userAnswer);    
?>

사용하다dataType:"json"위해서json데이터.

$.ajax({
     url: 'ajax.php', //This is the current doc
     type: "POST",
     dataType:'json', // add json datatype to get json
     data: ({name: 145}),
     success: function(data){
         console.log(data);
     }
});  

문서 읽기 http://api.jquery.com/jQuery.ajax/

PHP에도 있습니다.

<?php
  $userAnswer = $_POST['name']; 
  $sql="SELECT * FROM <tablename> where color='".$userAnswer."'" ;
  $result=mysql_query($sql);
  $row=mysql_fetch_array($result);
  // for first row only and suppose table having data
  echo json_encode($row);  // pass array in json_encode  
?>

두 번째 Ajax 함수를 사용할 필요가 없습니다. 함수 내부에서 성공하면 다시 얻을 수 있습니다. 여기서 또 다른 문제는 첫 번째 Ajax 호출이 언제 끝났는지 모른다는 것입니다. 그러면 SESSION을 사용하더라도 두 번째 AJAJ 호출 내에 받지 못할 수 있습니다.

따라서 AJAX 콜을 한 번 사용하여 성공적인 가치를 얻을 것을 권장합니다.

예: 첫 번째 Ajax 호출에서

    $.ajax({
        url: 'ajax.php', //This is the current doc
        type: "POST",
        data: ({name: 145}),
        success: function(data){
            console.log(data);
            alert(data);
            //or if the data is JSON
            var jdata = jQuery.parseJSON(data);
        }
    }); 
$(document).ready(function() {
    $("#raaagh").click(function() {
        $.ajax({
            url: 'ajax.php', //This is the current doc
            type: "POST",
            data: ({name: 145}),
            success: function(data) {
                console.log(data);
                $.ajax({
                    url:'ajax.php',
                    data: data,
                    dataType:'json',
                    success:function(data1) {
                        var y1=data1;
                        console.log(data1);
                    }
                });
            }
        });
    });
});

이렇게 사용하세요, 먼저 데이터를 얻기 위해 아약스 호출을 하면, 당신의 php 함수는 당신이 데이터를 얻고 그 데이터를 새로운 아약스 호출로 전달할 결과를 반환할 것입니다.

당신의 PhP 파일에는 다음과 같은 변수가 있을 것입니다.$_REQUEST그리고 자바스크립트에서 AJAX를 사용하여 PhP로 전송되는 모든 데이터가 포함된 배열을 포함합니다.

사용해 보십시오.var_dump($_REQUEST);값을 받고 있는지 확인합니다.

단일 따옴표로 값을 전달해야 합니다.

$(document).ready(function() {    
    $("#raaagh").click(function(){    
        $.ajax({
            url: 'ajax.php', //This is the current doc
            type: "POST",
            data: ({name: '145'}), //variables should be pass like this
            success: function(data){
                console.log(data);
                           }
        });  
        $.ajax({
    url:'ajax.php',
    data:"",
    dataType:'json',
    success:function(data1){
            var y1=data1;
            console.log(data1);
            }
        });

    });
});

그것이 효과가 있을지도 모릅니다...

언급URL : https://stackoverflow.com/questions/15637101/using-ajax-to-pass-variable-to-php-and-retrieve-those-using-ajax-again

반응형