jQuery函数$ .post与.remove

时间:2015-10-31 01:55:35

标签: javascript php jquery mysql

尝试构建一个简单的jQuery,允许用户单击表行中的一个按钮,该按钮应运行单独的PHP脚本以从db行中删除该项并在一个操作中删除表行。 (一旦工作,将迁移到准备好的语句。)

HTML

def create
    @pets = Pet.new(pet_params)

    respond_to do |format|
      if @pet.save
        format.html { redirect_to @treat}
        format.json { template: treats/show, status: :created, location: @pet }
      else
        format.html { render :new }
        format.json { render json: @pet.errors, status: :unprocessable_entity }
      end
    end
end

JS

<tr id="wish_list_row2">
  <td class="text-center">
    <a href="#" data-toggle="tooltip" data-placement="bottom" title="Click to download this Resource" style="margin-right:15px;"><i class="fa fa-download"></i></a>
    <a onclick="deleteWishList(3,1)" data-toggle="tooltip" data-placement="bottom" title="Click to remove this Resource from your Wish List"><i class="fa fa-gift"></i></a>  
  </td>
</tr>
<tr id="wish_list_row3">
  <td class="text-center">
    <a href="#" data-toggle="tooltip" data-placement="bottom" title="Click to download this Resource" style="margin-right:15px;"><i class="fa fa-download"></i></a>
    <a onclick="deleteWishList(4,1)" data-toggle="tooltip" data-placement="bottom" title="Click to remove this Resource from your Wish List"><i class="fa fa-gift"></i></a>
  </td>
</tr>

PHP

function deleteLike(rid,uid) {
    $.post("remove_this_item.php?rid="+rid+"&uid="+uid);
    $('#row'+rid).remove();
    return false;
}

当我点击“删除”链接时,tr会按预期删除。但是,db行保持不变。如果我在url中的PHP页面上手动设置rid和uid,则db行将被删除。我试过改变一些事情(例如rid和uid命令),但还没有取得任何成功。

我还不熟悉JS,所以也许我搞砸了这个函数?

2 个答案:

答案 0 :(得分:4)

您正在执行$.post,但在您的php脚本中,您正在尝试检索$_GET[]。将其更改为$_POST[],它应该可以正常工作。

答案 1 :(得分:2)

$.post()是使用HTML method="POST"的快捷方式,因此您需要将参数作为表单数据传递,而不是在查询字符串中传递:

$.post( "remove_this_item.php", { rid: rid, uid: uid } );

如果要传递查询字符串中的参数,请使用$.get()

$.get("remove_this_item.php?rid="+rid+"&uid="+uid);