我在Yii实施了一个项目。我想使用ajax函数从表中删除数据。
在我的控制器中我写了这个:
public function actionDelete1(){
if (isset($_POST['x1']) && isset($_POST['r_id'])) {
$hid=$_POST['x1'];
$rid=$_POST['r_id'];
echo $_POST['x1'].'recipe_id'.$_POST['r_id'];
$query="delete from ingredients where ingredienttype_id='$hid'";
$query1=Yii::app()->db->CreateCommand($query)->execute();
$this->redirect(array('recipe/update','id'=>$rid));
}
}
在我看来的部分:
<script>
function removeRow1(x,y){
alert("Are sure want to delete");
$.ajax({
url: '<?php echo Yii::app()->createAbsoluteUrl("ingredients/delete1"); ?>',
type: 'POST',
data: 'x1='+x+'&r_id='+y,
success: function(res)
{
//alert(res);
////$("#truth").html(res);
},
error:function(){
alert("Failed request data from ajax page");
}
});
}
</script>
我用一行显示这三个表数据:
<td id="data">
<?php
echo $i++;
?>
</td>
<td id="data">
<?php
$type=Ingredienttype::model()->find("id=$type_id");
echo $type['ingredient_type'];
?>
</td>
<td id="data">
<?php
$type1=Ingredient::model()->find("ingredient_id=$ingredient_id");
//echo $ingredient_id;
echo $type1['ingredientname'];
?>
</td>
<td id="data">
<?php
echo $quantity;
?>
</td>
<td id="data">
<?php
$mes_type=Measuringtype::model()->find("id=$measuringtype");
echo $mes_type['measuringname'];
?>
</td>
<input type="button" id="<?php echo $type_id; ?>" name="doesntMatter" class="REMOVETHIS btn btn-inverse btn-xs"
value="Del" onclick="removeRow1(this.id,<?php echo $model->recipe_id ?>)"/></td>
它不起作用。请建议我如何使用ajax删除ID。
答案 0 :(得分:1)
首先你有
$query="delete from ingredients where ingredienttype_id='$hid'";
尚未定义$hid
!
您会使用$hid
还是$rid
?
其次,使用ajax发送params,数据应该是一个对象,我不知道它是否适用于字符串。所以可以肯定的是,尝试使用如下对象
$.ajax({
url: '<?php echo Yii::app()->createAbsoluteUrl("ingredients/delete1"); ?>',
type: 'POST',
data: {'x1':x,'r_id':y},
success: function(res)
{
//----