如何从AJAX jQuery请求获取PHP数据

时间:2017-12-25 04:26:28

标签: javascript php jquery ajax

因此,我已经遵循了有关向服务器上的php文件发出jQuery或Javascript AJAX请求的所有建议。

我遇到的问题是我的回答是这个

  

致命错误:数组回调必须包含

中的索引0和1

所以这是我的jQuery

$(document).ready(function(){

    $(".ex .select").click(function(){
    $("body").data("id", $(this).parent().next().text());

这些行用于捕获变量并将其作为数据保存在body元素上,因此我可以在以后使用它。

但我想将相同的变量发送到PHP文件,添加到复杂的API请求 - 最终返回结果,创建$ _SESSION变量等等

    var pageId = {
        id: $("body").data("id"),
    };

但是,让我们避免这是一个问题,只是让我的数组像

一样简单
var pageId = {
        id: "12345",
    };

    $.ajax({
        type: 'GET',
        url: 'test.php',
        data: pageId,
        datatype: 'json',
        cache: false,
        success: function (data, status) {
            alert("Data: " + data + "\nStatus: " + status);
        }
    });
});
});

现在至少我希望保持我的PHP文件简单,以便测试我对这里的概念的掌握

<?php

$id = $_GET('id');

echo json_encode($id);

?>

我期待着回应

  

数据:12345

     

状态:成功

但我收到上面的错误消息。

2 个答案:

答案 0 :(得分:1)

您需要将$_GET('id')更改为$_GET['id'] 并且为了发送状态,您需要像下面一样向数组添加状态,并尝试在您的响应上解析JSON。

<?php

    $id = $_GET['id'];
    $result = array("id"=>$id, "Status"=>"Success");

    echo json_encode($result);

?>

使用.在jquery中访问,如果您成功使用数据变量

success:function(data){
    alert(data.Status);
}

答案 1 :(得分:0)

$id = $_GET('id');更改为$id = $_GET['id'];

因为$ _GET,而不是函数,它是一个数组类型元素。