在ajax函数中,我传递了一个js变量。但是在php页面上,我得到该变量的未定义错误

时间:2019-10-02 12:17:23

标签: javascript php ajax

我得到通知:未定义的索引:第4行/opt/lampp/htdocs/final/sort.php中的sortOrder”

function sortby(selectObject) {
        var sortOrder = selectObject.value;
        $.ajax({
            url: "sort.php",
            method: "POST",
            data: { column_name: "sortOrder"},
            success: function(data) {
                $('#allProducts').html(data);
            }
        })
        console.log("called");
    }

在sort.php上

require_once 'config/connect.php';
$order = $_POST["sortOrder"];

2 个答案:

答案 0 :(得分:0)

您的AJAX呼叫不正确。

您要传递的对象的属性为1,其中包含文字字符串column_name

尝试这样的事情:

"sortOrder"

然后在PHP中:

function sortby(selectObject) {
    var sortOrder = selectObject.value;
    $.ajax({
        url: "sort.php",
        method: "POST",
        data: { column_name: sortOrder },
        success: function(data) {
            $('#allProducts').html(data);
        }
    })
    console.log("called");
}

答案 1 :(得分:0)

您必须在数据对象中进行以下更改。

function sortby(selectObject) {
        var sortOrder = selectObject.value;
        $.ajax({
            url: "sort.php",
            method: "POST",
            data: { "sortOrder": sortOrder }, // the var you have get from DOM to sent to PHP code
            success: function(data) {
                $('#allProducts').html(data);
            }
        })
        console.log("called");
    }

sorOrder indes被查找到$ _POST []数组中,但找不到它,因此它会通知您。