Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在PHP中获取从AJAX POST发送的数据?_Javascript_Php_Jquery_Ajax_Twitter Bootstrap - Fatal编程技术网

Javascript 如何在PHP中获取从AJAX POST发送的数据?

Javascript 如何在PHP中获取从AJAX POST发送的数据?,javascript,php,jquery,ajax,twitter-bootstrap,Javascript,Php,Jquery,Ajax,Twitter Bootstrap,我正在尝试使用AJAX和JQUERY获取POST数据 我有一个引导下拉列表,其中显示了数据库中的一些值。 我想将我选择作为POST的项目传递给我的PHP 我的下拉列表如下: <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Your Sites

我正在尝试使用AJAX和JQUERY获取POST数据

我有一个引导下拉列表,其中显示了数据库中的一些值。 我想将我选择作为POST的项目传递给我的PHP

我的下拉列表如下:

<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Your Sites <span class="caret"></span></a>
  <ul class="dropdown-menu">
    <?php
      foreach($sites as $site)
      {
        echo "<li class='specialLink' id='".$site->site_key."'><a href='#'>".$site->site_key."</a></li>";
      }
    ?>
  </ul>
</li>
在控制台中,我可以看到如下所选的项目:


尝试像这样更改下拉代码,看看它是否有效:

<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Your Sites <span class="caret"></span></a>
  <ul class="dropdown-menu">
    <?php
      foreach($sites as $site)
      {
        echo "<li class='specialLink' data-id='".$site->site_key."' id='".$site->site_key."'><a href='#'>".$site->site_key."</a></li>";
      }
    ?>
  </ul>
</li>
以及您的JS代码:

<script type="text/javascript">

    $( ".specialLink" ).click(function() {
//        var site = this.id;
          var site = $(this).attr('data-id').val; 
        console.log(site);
        var url= "<?php echo base_url('customer/dashboard/index') ?>"; 

         //get value for throw to controller

        $.ajax({ 
            type: "POST", //send with post 
            url: "<?php echo base_url('customer/dashboard/index') ?>", 
            data: {site:site}, 
            success:function(data){ 

            },

        });
    });

尝试创建一个简单的div:

<div id="test"></div>
并将您的ajax结果附加到他身上:

$.ajax({ 
        type: "POST", //send with post 
        url: "<?php echo base_url('customer/dashboard/index') ?>", 
        data: {site:site, function:function_site},
        dataType: 'json',
        success:function(data){ 
           $("#test").html(data.site);
        },

    });

我现在没有一个环境来测试你,但你应该看看你现在的回声。

@Rajan你能展示一下你在console.logsite中得到了什么吗@KetanSolanki我从下拉列表中获取我选择的项目您可以尝试echo$_POST['site];?可能与codeigniter的post Healthy有关,虽然不太可能……我尝试了@Alexartan,也尝试了echo$\u请求[]我不应该使用类似的东西:xhr.send;如果我在li标签内添加一个div,它将改变导航条的外观?@Rajan,不,将div放在li标签外。您应该可以看到您正在回显的内容。我收到以下php错误消息:未定义索引:function@Rajan你在ajax上传递函数参数吗?我只是复制了你的代码,粘贴并尝试了一下,然后得到了这个error@Rajan尝试提醒可变站点,我已经更改了code.ketan,如果我像这样发出警报,我会得到正确的警报var site=this.id;控制台。日志站点;警报站点;如果我尝试你的方式,我会在警报中未定义
<script type="text/javascript">

    $( ".specialLink" ).click(function() {
//        var site = this.id;
          var site = $(this).attr('data-id').val; 
        console.log(site);
        var url= "<?php echo base_url('customer/dashboard/index') ?>"; 

         //get value for throw to controller

        $.ajax({ 
            type: "POST", //send with post 
            url: "<?php echo base_url('customer/dashboard/index') ?>", 
            data: {site:site}, 
            success:function(data){ 

            },

        });
    });
<div id="test"></div>
if($_REQUEST['function'] == 'function_site')
    {
       $site = $_POST['site'];
       //$this->session->set_userdata('site', $site);
       $response['site'] = $site;

       echo json_encode($response);

    }
$.ajax({ 
        type: "POST", //send with post 
        url: "<?php echo base_url('customer/dashboard/index') ?>", 
        data: {site:site, function:function_site},
        dataType: 'json',
        success:function(data){ 
           $("#test").html(data.site);
        },

    });