web-dev-qa-db-ja.com

JQuery Ajaxリクエストから「データ」を取得する方法

これは私がindex.htmlに持っているコードです:

<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width">
        <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
        <script>
            $.ajax({
                type: "POST",
                url: 'test.php',
                data: "check",
                success: function(data){
                    alert(data);
                }
            });
        </script>
    </head>
    <body>
        <div></div>
    </body>
</html>

Test.phpをプログラミングして、AJAX APIで送信される「データ」を取得するにはどうすればよいですか?

9
Daniyaal Khan

ここで非常に基本的な質問をしています。最初にいくつかのAjaxチュートリアルを実行する必要があります。少しだけ助けるために(GETとPOSTデータの送信方法を知っていると仮定)、データの 'data': "check"は関数(data)の 'data'とは異なります。明確にするために、次のように異なる名前を付ける必要があります。

$.ajax({
     type: "POST",
     url: 'test.php',
     data: "check",
     success: function(response){
         alert(response);
     }
});

これにより、1つはtest.phpファイルにPOSTパラメーターで送信するデータであり、もう1つはtest.phpファイルの実行後に取得する応答であることがわかります。実際、test.phpに対するPOSTのデータパラメーターは、次のようなハッシュである必要があります(ここでは、キーを "type"として想定しています:

$.ajax({
     type: "POST",
     url: 'test.php',
     data: {"type":"check"},
     success: function(response){
         alert(response);
     }
});

明らかに、データにはもっと多くのキーとバルブのペアがあります。

したがって、test.phpファイルは次のようになります。

if(isset($_POST['type'])){
  //Do something
  echo "The type you posted is ".$_POST['type'];
}

この場合、アラートは「投稿したタイプはチェックです」と表示されます。これは、AJAX呼び出しで 'type'キーに送信する値に基づいて変わります。

4
nitigyan

あなたはこのように試すことができます

 $.ajax({
    type: "POST",
    url: 'test.php',
    data: {"data":"check"},
    success: function(data){
        alert(data);//This will alert Success which is sent as the response to the ajax from the server
    }
 });

そしてtest.phpで

if(isset($_POST['data']) && $_POST['data'] == 'check'){
  //$_POST['data'] contain the value that you sent via ajax
  //Do something
  echo 'Success';
}

これをチェック 詳細

7
Deepu

Jquery ajaxでより多くのデータを処理する場合。 JSONデータ型が好きです。

単純にこのように使用します。

$.ajax({
    type: "POST",
    url: 'test.php',
    dataType: 'json',
    data: {"data":"check"},
    success: function(data){
        alert(data.value1);
        alert(data.value2);
    }
 });

あなたのPHPコード

if(isset($_POST['data']) && $_POST['data'] == 'check'){
   //Data 1
     $data['value1'] = 'Data 1 Got Successfully';
    //Data 2
     $data['value2'] = 'Data 2 Got Successfully';
     $resonse = json_encode($data);
     echo $response;
}
5
Hoja.M.A

あなたのHTMLは

<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
 <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
 <script>
     $.ajax({
     type: "POST",
     url: 'test.php',
     data: {"myvar":"check",},
     success: function(data){
         alert(data);
     }
     });
 </script>
</head>
<body>
<div></div>
</body>
</html>

データは配列であるため、変数とその値をデータで渡す必要があることに注意してください。データ内の複数の変数をコンマで区切って渡すことができます。

そして、test.phpで、ajaxから送信されたデータを選択します。

<?php
if(isset($_POST['myvar']))
{
  $myVariable = $_POST['myvar'];
  echo $myVariable;   //This would output the string passed in ajax, check
}
?>

$ _POSTは、AJAX呼び出しで使用されるタイプに依存します。タイプがGETの場合、phpでは$ _GETになります。代わりに、$ _ REQUESTになり、 AJAX呼び出しはタイプGETまたはPOSTです。

2
Venkata Krishna
$.ajax({//create an ajax request to load_page.php
    type: "POST",
    url: "test.php",
    data:{"data":"check"},
    success: function(data) {
        if (data) {

           alert(data);
        }
        else {
            alert('Successfully not posted.');
        }
    }
});

Test.phpで

<?php 

if(isset($_POST['data'])){
    echo 'successful';
}
?>
2
Priyank

PHPファイルの出力は、AJAX成功関数に送信されます。

1
user3111011