繁体   English   中英

ECHO在PHP中发布来自AJAX的数据

[英]ECHO post data from AJAX in PHP

我想回应使用AJAX-JQUERY获得的帖子数据。

我在下拉列表中有一个下拉列表,我从数据库中显示了一些值。 现在我选择frmo下拉列表的项目作为POST发送到我的控制器。

如果我在浏览器中打开我的网络选项卡,我可以看到我使用我的AJAX脚本获得的POST数据。

像这样: 响应

但如果我试图回应它,在浏览器上没有显示任何内容。

我正在使用这个脚本:

<script type="text/javascript">

$( ".specialLink" ).click(function() {
      var site = this.id;
      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){ 

          },

      });
  });

DROPDOWN:

<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>

PHP脚本

var_dump($_REQUEST);
var_dump($_POST);

但如果我试图回应它,在浏览器上没有显示任何内容

这是因为您使用Ajax发出请求而不是仅在主窗口中加载它。

如果要在主窗口中加载内容,则只需提交常规表单。 如果必须使用JavaScript,则可以使用DOM方法生成表单,将其添加到页面,然后调用其submit()方法。

(也就是说,你似乎试图模拟链接,这会使一个GET请求比POST请求更合适,并允许你只使用常规链接(或设置location.href = ...如果你必须使用JS,你真的不需要这样做。)如果你想使用Ajax,那么你需要改变这个:

 success:function(data){ }, 

...以便您实际使用data的价值(例如将其添加到当前页面的DOM)。

请在ajax调用中以此表单发送数据

data : {"site" : site}; 

key应该是字符串,然后是js变量中的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM