使用 AJAX JQuery 发送 POST 数据


Send POST Data using AJAX JQuery

我想将所选项目从 POST 中的引导下拉列表发送到我的控制器,但不知何故没有发送。

在我的下拉列表中,我从数据库中获取<li></li> tag记录,如下所示:

 <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">
        <li ><a href="#"><?php
    foreach($sites as $site)
    {
    echo "<li class='specialLink' id='$site->site_key'>".$site->site_key."</li>";
    }?></a></li>
      </ul>
    </li>     

这是我发送 POST 数据的脚本:

<script type="text/javascript">
$( ".specialLink" ).click(function() {
    var value = this.id; //get value for throw to controller
    alert(value);  
    $("#specialLink").submit(function(){
        $.ajax({
            type: "POST", //send with post
            url: "<?php echo site_url('customer/dashboard') ?>",  
            data: "value=" + value,
        });
    });
});
</script>

但是我没有在我的控制器上发送任何 POST 数据,也没有在控制台中收到任何错误消息。

我认为您没有正确使用submitsubmit函数将事件处理程序绑定到submit javascript 事件。在 https://api.jquery.com/submit/阅读更多内容。

您只想在单击$(.specialLink)时执行 ajax 请求,因此请尝试:

 $( ".specialLink" ).click(function() {
    var value = this.id; //get value for throw to controller
    $.ajax({
      type: "POST", //send with post
      url: "<?php echo site_url('customer/dashboard') ?>",  
      data: "value=" + value, 
    });
});

您可以使用以下代码将数据发送到php文件:

 <a href="#" onclick="postExample(); return false;">Your Link here</a>
     function postExample() {
     $.post('url', {"postfield1":"val1"}, function(resp) {
         //Do something with the AJAX response
     });
 }

 <a href="#" onclick="$.post('url', {"postfield1":"val1"},; return false;">Your Link here</a>