通过URL传递参数到php,但php没有得到它,为什么?

时间:2018-05-14 06:36:56

标签: php ajax

我创建表并使用ajax传递数据。

这是我的ajax部分,我把参数放在URL中,但php代码没有读取它。

$page=isset($_GET['p'])?$_GET['p']:'';

我使用<script> $.ajax({ type: 'POST', url: "<?php echo base_url().'index.php/ContMain/generate'; ?>", dataType: 'json ', data: { month: month, zone: zone }, success: function(res) { console.log('success', res); }, error: function(err) { console.log('error', err); } ); </script>来判断参数,但它没有读取。请教我怎么做,谢谢。

4 个答案:

答案 0 :(得分:0)

使用POST代替并在数据中添加p=add而不是网址

$.ajax({
    type:"POST",
    url:"system_setting.php",
    data:"p=add&username="+username+"&password="+password+"&nickname="+nickname+"&authority="+authority,
    success:function(data){
        viewData();
    }
});

在php中

$page=isset($_POST['p'])?$_POST['p']:'';

答案 1 :(得分:0)

您必须仅使用POST或仅使用GET。 工作示例:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
var username="username";
var password="password";
var nickname="nickname";
var authority="authority";


$.ajax({
        type:"POST",
        url:"system_setting.php",
        data:"p=add&username="+username+"&password="+password+"&nickname="+nickname+"&authority="+authority,
        success:function(data){
             alert(data);
        }
    });
</script>

在system_setting.php中

$page=isset($_POST['p'])?$_POST['p']:'';

echo $page;

答案 2 :(得分:0)

尝试一下:

var data = {};
data.username = username;
data.password = password;
data.nickname = nickname;
data.authority = authority; 
data.p = “add”;
$.ajax({
     type:"POST",
     url:"system_setting.php", 
     data: data
 }).done(function(data){
     viewData();
 });

然后,当您需要使用$_POST[]数据时$_POST[‘p’]

答案 3 :(得分:0)

试试这个,ajax参数“method”用于POST和GET。

    $.ajax({
        method: "POST",
        url: "system_setting.php",
        data: { p:"add", username: "unsername", password: "password", nickname:  "nickname", authority:"authority" },
        success:function(data){
            alert(data);
        }
    });