17

PHPスクリプトに値を渡したいので、AJAXを使用してそれらを渡し、同じ関数で別のAJAXを使用してそれらの値を取得しています。

問題は、2 番目の AJAX が PHP ファイルから値を取得していないことです。どうしてこれなの?2 番目の 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);    
?>
4

5 に答える 5

25

データ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  
?>
于 2013-03-26T12:30:48.660 に答える
1

PhP ファイルには、という変数が$_REQUESTあり、AJAX を使用して Javascript から PhP に送信されるすべてのデータを含む配列が含まれています。

これを試してください:var_dump($_REQUEST);値を受け取っているかどうかを確認してください。

于 2015-12-10T18:48:15.597 に答える
1
$(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);
                    }
                });
            }
        });
    });
});

このように使用し、最初にデータを取得するために ajax 呼び出しを行います。次に、php 関数はデータで取得する結果を返し、そのデータを新しい ajax 呼び出しに渡します。

于 2013-03-26T13:00:21.300 に答える
1

2 番目の ajax 関数を使用する必要はありません。関数内で成功すると元に戻すことができます。ここでの別の問題は、最初の ajax 呼び出しがいつ終了したかがわからないことです。その後、SESSION を使用しても、2 番目の AJAX 内で取得できない場合があります。電話。

そのため、1 つの 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);
        }
    }); 
于 2013-03-26T12:32:03.717 に答える
0

一重引用符で値を渡す必要があります

$(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);
            }
        });

    });
});

試してみてください。

于 2015-08-12T04:38:03.303 に答える