【发布时间】:2023-03-10 18:44:01
【问题描述】:
我正在尝试使用 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>
现在我的问题是,当我在 PHP 中回显 POST 值时,我什么也得不到,而如果我提醒来自 ajax 的数据,那么它会显示正确的值。
另外,如果我打开浏览器控制台,可以看到我在 Network->XHR 选项卡中选择的值。
<script type="text/javascript">
$( ".specialLink" ).click(function() {
var site = this.id;
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){
},
});
});
尝试在 PHP 中获取这样的值:
if(!empty($_POST))
{
//$site = $_POST['site'];
echo $this->input->post('site');
//$this->session->set_userdata('site', $site);
}
Request URL:http://127.0.0.1/bizrtc/customer/dashboard/index
Request Method:POST
Status Code:200 OK
Form Data
view source
view URL encoded
site:HT45-YT6T
【问题讨论】:
-
@Rajan 你能展示一下你在“console.log(site);”中得到了什么
-
@KetanSolanki 我得到了我从下拉列表中选择的项目
-
你能试试
echo $_POST['site];吗?可能与codeigniter的后期卫生有关,虽然不太可能...... -
我试过 @AlexTartan 我也试过回应 echo $_REQUEST[]
-
我不应该使用这样的东西吗:xhr.send();
标签: javascript php jquery ajax twitter-bootstrap