Javascript 如何在PHP中获取从AJAX POST发送的数据?
我正在尝试使用AJAX和JQUERY获取POST数据 我有一个引导下拉列表,其中显示了数据库中的一些值。 我想将我选择作为POST的项目传递给我的PHP 我的下拉列表如下: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
<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);
},
});