控制器cakephp中的链接删除

时间:2013-10-30 11:59:38

标签: php ajax jquery cakephp

我在cakephp中有函数使用ajax和jQuery我发送和数据到我的视图和总和链接像编辑和删除但我不能发送删除链接

如何在控制器中创建链接删除

代码控制器

function recherche($desi=null,$test=null)
{
    if($desi!=null || $test!=null )
    {
        $this->Materiel->recursive = -1;
        $produits=$this->Materiel->find('all',array('conditions' => array("Materiel.name LIKE '%$desi%'")));
        echo '<table>';
        echo '<tr>
                <th>Designation</th>
                <th>Prix de vente</th>
                <th>Prix de Fornisseurs</th>
                <th>Stock</th>
                <th>quantité d\'alerte</th>
                <th>Action</th>

            </tr>';
        foreach ($produits as $produit)
        {
            $id=$produit['Materiel']['id'];
            echo "<tr>";
            echo "<td><ck id=d$id>".$produit['Materiel']['name']."</ck></td>";
            echo "<td><ck id=p$id>".$produit['Materiel']['prix']."</ck> DH</td>";
            echo "<td><ck id=p$id>".$produit['Materiel']['prixf']."</ck> DH</td>";
             echo "<td><ck id=s$id>".$produit['Materiel']['quantite']."</ck></td>";
            echo "<td><ck id=p$id>".$produit['Materiel']['souille']."</ck></td>";
            echo "<td><a href='/hossam/materiels/edit/".$produit['Materiel']['id']."'>Editer</a></td>";
            echo '</tr>';
        }
        echo '</table>';
        exit();
    }
}

代码视图

    <?php
      echo $this->Html->script('ajax');
?>

<div class="materiels form">
<?php echo $this->Form->create('Materiel');?>
    <fieldset>
        <legend>
                    <?php echo __('Recherche Produit'); ?>
                </legend>
                <label for="MaterielCategories">Recherche par Designation</label>
                <input type="text" id="produit1">

                <div id="sites">

                </div>
        </fieldset>

</div>

代码ajax.js

$("#produit1").keyup(function() {
    var id=$("#produit1").val();
    var image="<center><img src='/hossam/img/loading.gif' style='width: 180px;' ></center>";
    $("#sites").empty();
    $(image).appendTo("#sites");
    $("#sites").show();
    $.post(
        '/hossam/materiels/recherche/'+id+'/1',
        {
        //id: $("#ChembreBlocId").val()
        },
        function(data)
        {
            $("#sites").empty();
            $(data).appendTo("#sites");
            $("#sites").show();
        },
        'text' // type
        );
});

代码链接删除

<?php echo $this->Form->postLink(__('Supprimer'), array('action' => 'delete', $user['User']['id']), null, __('Are you sure you want to delete # %s?', $user['User']['id'])); ?>

1 个答案:

答案 0 :(得分:1)

不要直接在控制器中“回声”。定义“recherche”的视图并在那里进行打印。您可以使用表单助手并创建删除链接。

如果您仍想在控制器本身中执行“回音”,则可以执行两项操作

  1. 从delete()操作中删除以下行格式,并为编辑提供链接

    if (!$this->request->is('post')) {
        throw new MethodNotAllowedException();
    }
    
  2. 下面的Html删除链接

    <?php echo $this->Form->postLink(__('Supprimer'), array('action' => 'delete', $user['User']['id']), null, __('Are you sure you want to delete # %s?', $user['User']['id'])); ?>

  3. 将是

    <form action="/hossam/materiels/delete/1" style="display:none;" method="post" name="post_5271088279c63" id="post_5271088279c63">
      <input type="hidden" name="_method" value="POST">
    </form>
    <a href="#" onclick="if (confirm('Are you sure you want to delete # 1?')) { document.post_5271088279c63.submit(); } event.returnValue = false; return false;">Delete</a>
    

    因此,您必须回复上述内容,而不是编辑链接