我想回应使用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 SCRIPT
var_dump($_REQUEST);
var_dump($_POST);
答案 0 :(得分:3)
但如果我试图回声,它在浏览器上没有显示任何内容
这是因为您使用Ajax发出请求而不是仅在主窗口中加载它。
如果要在主窗口中加载内容,则只需提交常规表单即可。如果您必须使用JavaScript,那么您可以使用DOM方法生成表单,将其添加到页面,然后调用其submit()
方法。
(也就是说,你似乎试图模拟链接,这会使得GET请求比POST请求更合适,并允许你只使用常规链接(或者如果你必须使用JS则设置location.href = ...
,你真的不应该这样做)。
如果你想使用Ajax,那么你需要改变它:
success:function(data){ },
...以便您实际使用data
的值执行某些操作(例如将其添加到当前页面的DOM中)。
答案 1 :(得分:0)
请以ajax电话
的形式发送此表单中的数据Model
键应该是字符串,然后是js变量中的值。