带有POST和GET的AJAX

时间:2014-07-22 07:42:17

标签: php jquery ajax

这是AJAX处理的合法调用吗? 我选择$_GET变量,但不是$_POST。 ' selected '是来自dataTable选择的数据数组。

   $.ajax({
        url: './inc/MediaScripts.php?argument=deleteRecords',
        type: 'POST',
        data: selected
    });

服务器端 print_r($GLOBALS);

[_GET] => Array
    (
        [argument] => deleteRecords
    )

[_POST] => Array
    (
    )

更新

编辑JQuery

        $.ajax({
            url: './inc/MediaScripts.php?argument=deleteRecords',
            type: 'POST',
            data: { "test1": "value1", "test2": "value2" }
        });

结果

[_GET] => Array
    (
        [argument] => deleteRecords
    )

[_POST] => Array
    (
        [test1] => value1
        [test2] => value2
    )

3 个答案:

答案 0 :(得分:2)

data属性应该类似于这样的数据:{" selected&#34 ;: selected}

除此之外,如果网址是正确的,只需尝试这样的

$.ajax({
   url: './inc/MediaScripts.php?argument=deleteRecords',
   type: 'POST',
   data: {"selected":selected}
}).done(function() {
   alert('works');
});

亲眼看看:)

答案 1 :(得分:1)

我选择$_GET变量,而不是$_POST

我认为你应该发布一个对象:

data: {selected : selected}

在服务器端,你可以选择:

$_POST['selected'] // it contains the array you posted.

总而言之,我建议你跟type:"post"说话并传递像这样的变种:

$.ajax({
    url: './inc/MediaScripts.php',
    type: 'POST',
    data: {argument:"deleteRecords", selected : selected}
});

答案 2 :(得分:0)

使用$ _GET可以访问URL queryString中传递的任何数据,即使您使用 POST 提交数据,但数据' ('选择'数组)只能在$ _POST变量中读取。