简单的ajax jquery php代码

时间:2014-02-26 15:16:22

标签: php jquery ajax

任何人都可以帮我解决这个简单的代码。我收到这个错误:

"Notice: Undefined index: name in C:\xampp\htdocs\test.php on line 2

您输入的ID为“

我还想知道如何在ajax语句中传递多个值,如:

data: {name: "john", country: "UK"}

在服务器端检索它,最后将其发回初始页面。

客户方:

<script>
    $(document).ready(function(){

        $("#btn").click(function(){

            $.ajax({
                type: "POST",
                url: "test.php",
                data: {name: "John"}
            })

            .done(function() {
                $("#output").load("test.php");
           });
        });

     });
 </script>


<form>
    <input type="button" value="Test" id="btn" />
</form>

<div id="output"> </div>

服务器端:

<?php
    $student =(string) $_POST['name']; 
    //$student = isset($_POST['name'])?$_POST['name']:'err';
    $message = "Name: ".$student;
    echo ($message);
?>

3 个答案:

答案 0 :(得分:5)

您正在加载test.php文件两次:一次使用您的POST请求,它返回正确的数据......但是您忽略了该数据并再次使用GET请求请求它,这当然没有POSTdata附加。

尝试:

.done(function(data) {
    $("#output").html(data);
});

答案 1 :(得分:1)

尝试这样的事情:

   $("#btn").click(function(){
        $.ajax({
            type: "POST",
            url: "test.php",
            data: {name: "John"},
            success: function(data) {
                $("#output").html(data);
            }
        })

您还可以按照说法添加更多数据:

data: {name: "John", country:"UK"}

在PHP中,您将获得$_POST['country']

答案 2 :(得分:1)

要从表单中通过Ajax传递多个数据项,您可以执行此操作,例如,它从输入字段中获取值并传递它们:

data: 
    'forename=' + $('#forename').val() +
    '&surname=' + $('#surname').val() +
    '&addressLine1=' + $('#addressLine1').val(),