使用AJAX JQuery发送POST数据

时间:2016-02-27 05:45:04

标签: javascript php jquery ajax twitter-bootstrap

我想将POST中Bootstrap下拉列表中的选定项目发送到我的控制器,但不知何故它没有被发送。

在我的下拉列表中,我从<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数据中的任何内容,也不会在控制台中收到任何错误消息。

2 个答案:

答案 0 :(得分:1)

我认为你没有正确使用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, 
    });
});

答案 1 :(得分:0)

您可以使用此代码将数据发送到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>