无法通过AJAX将数据发送到PHP文件

时间:2012-08-09 22:23:35

标签: php javascript jquery html ajax

我有一个表,其中包含其中一列中所有行的锚点链接。

相关代码是

<tbody>
  <?php foreach ($rowarr as $k => $v) { ?>
    <tr>
      <td><?php echo $k ?></td>
      <td>
        <div class="divBox">                          
          <a id="vendorlink" data-toggle="modal" data-vendor="<?= $v ?>" href="#myModal"><?php echo $v; ?></a>
        </div>
      </td>
    </tr>
  <?php } ?>
</tbody>

我正在尝试使用AJAX将点击表中链接的供应商的名称发送到使用AJAX的模式并尝试在模态中打印名称仅用于测试,但即使这样也不会发生。

<script type="text/javascript">
  $('#myModal').modal('hide');
  $("#vendorlink").click(function(){
    var vendor = $(this).data('vendor');
    $('#myModal').on('shown', function(){                
        $.ajax({
          type: "GET",
          url: "ip.php",
          data:     "id=" + vendor,
          success: function(html){
            $("#modal-body").html(html);
            $('.countstable1').dataTable( {
              "sDom": "T<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
              "sPaginationType": "bootstrap",
              "oLanguage": {
                "sLengthMenu": "_MENU_ records per page"
              },
              "aaSorting":[[0, "desc"]],
              "iDisplayLength": 10,
              "oTableTools": {
                    "sSwfPath": "swf/copy_csv_xls_pdf.swf",
                    "aButtons": ["csv", "pdf"]
                  }
            });
          }
      });              
    });
  });
</script>

ip.php文件暂时只有这个

<?php

$vendor = $_GET['id'];

echo $vendor;
?>

但是在模态中我只看到默认的bootstrap标记代码,没有任何东西在那里回显

这是默认的引导程序标记代码 - http://twitter.github.com/bootstrap/javascript.html#modals

可能有什么不对?为什么供应商没有传递给PHP文件?

2 个答案:

答案 0 :(得分:1)

您的html文件中的所有链接都设置了相同的ID,这将无法正常工作,您最好在所有链接中添加活动。

答案 1 :(得分:0)

应以这种方式定义data属性:

data: {id: vendor},

编辑。哦,并替换:

<a id="vendorlink" data-toggle="modal" data-vendor="<?= $v ?>" href="#myModal"><?php echo $v; ?></a>

使用:

<a id="vendorlink_<?=$v?>" class="vendorlink" data-toggle="modal" href="#myModal"><?=$v?></a>

$("#vendorlink")$(".vendorlink")(因此您将影响所有条目)和$(this).data('vendor');$(this).attr('id').replace('vendorlink_', '');