如何从JQuery Ajax请求中获取“数据”

时间:2014-12-30 06:17:18

标签: javascript php 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以获取&#34;数据&#34;这是在AJAX API中发送的吗?

6 个答案:

答案 0 :(得分:7)

您可以尝试这样

 $.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';
}

您可以check this了解更多

答案 1 :(得分:5)

如果您想使用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;
}

答案 2 :(得分:4)

你在这里问一个非常基本的问题。您应该首先阅读一些Ajax教程。只是为了帮助你一点(假设你知道发送数据的GET和POST方法),数据中的“数据”:“检查”与功能(数据)中的“数据”不同。为清楚起见,您应该将它们命名为不同,如下所示:

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

这清楚地表明,一个是您在POST参数中发送到test.php文件的数据,另一个是您在运行后从test.php文件获取的响应。实际上,你POST到test.php的数据参数必须是像这里的哈希(我假设键在这里是“类型”:

$.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”键发送的值而更改。

答案 3 :(得分:2)

您的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>

请注意,数据是一个数组,因此您必须在数据中传递变量及其值。您可以在数据中传递多个变量,并用逗号分隔。

并选择ajax发送的数据,在test.php中:

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

$ _ POST取决于AJAX调用中使用的类型。如果type是GET,那么在PHP中它将是$ _GET。一个简单的事情是$ _REQUEST,无论AJAX调用是GET类型还是POST类型。

答案 4 :(得分:2)

$.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';
}
?>

答案 5 :(得分:1)

PHP文件的输出将发送到您的AJAX成功函数。