没有收到从ajax到PHP文件的值

时间:2017-12-19 09:24:19

标签: javascript php ajax

首先,这是我的代码:

HTML with Javascript:

function getValues(){
    var filter;
    $.ajax({
            type: "POST",
            url: "myphpfile.PHP?action=sek",
            data: "id=1",
            async: false,
            success: function(ret){
                    filter = ret;
                }
        });
    console.log(filter);

PHP myphpfile.php:

if(isset($_GET['action'])){
    print myfunction($_GET['action'],$_GET['id']);
}

我的问题: 当我尝试使用console.log打印结果时,将打印整个myphpfile.php。 据我所知,这意味着没有值到达HTML文件。但是为什么?

功能“myfunction”有结果,我先试了一下。此函数返回一个数组。 (我不能在这里显示这个功能)

我不知道我做错了什么,请看看,它让我发疯。

提前致谢!

3 个答案:

答案 0 :(得分:0)

更改PHP文件请求

if(isset($_GET['action'])){
    print myfunction($_GET['action'],$_GET['id']);
}

您也可以使用$_REQUEST

答案 1 :(得分:0)

首先使用Javascript:



function getValues(){
    var filter;
    $.ajax({
            type: "POST",
            url: "myphpfile.PHP?action=sek",
            data: { id: 1 },
            async: false,
            success: function(ret){
                    filter = ret;
                }
        });
    console.log(filter);




你需要通过$ _POST获取ID [' id']

答案 2 :(得分:0)

action位于$_GET超级全局,id位于$_POST超级全局。

PHP:

if(isset($_GET['action'])){
    print myfunction($_GET['action'],$_POST['id']);
}

此外,您需要将对象传递给data参数,而不是字符串:

JS:

$.ajax({
    type: "POST",
    url: "myphpfile.PHP?action=sek",
    data: {id: "1"},
    async: false,
    success: function(ret){
            filter = ret;
        }
});