如何在ajax调用中返回对象而不是实际值?

时间:2018-06-30 19:40:08

标签: javascript php jquery

我试图在我的php应用程序中使用ajax进行CRUD,我已经成功插入了,但是由于我必须将ID号发送到下一页来更新数据,因此无法进行更新。

这是我的剧本

$(document).ready(function(){
    // When click the button.
    $("[id^=get]").click(function() {
        // Assigning Variables to Form Fields
        var cid  = $(this).val();

        if(cid) {
            $.ajax({
                type: "post",
                url: "getsingle.php",
                asynch: false,
                data: {
                    "cid": cid 
                },
                success: function(data) {   
                    $("#catname").val(data);
                    $("#tochange").html("<button id='update' type='button' class='btn btn-success'>Update</button>");
                    $("#categories").html("");
                    $("#form_category").append("<div class='form-group m-form__group row'><div class='col-lg-6'><input type='text' id='cid' class='form-control m-input' placeholder='Enter category name' value='"+$(cid)+"' name='cname'><span id='ecname' style='color: red;'> </span></div>");
                }
            });
        } else {
            $("#ecname").html("fill category name");
        }
    });
});

这是我单击的按钮,它将运行此功能

<td><button value="'.$category['cid'].'" class="btn btn-primary get" id="get'.$category['cid'].'">edit </button></td>

将用于更新数据的表格。

<div class="m-portlet">
    <div class="m-portlet__head">
        <div class="m-portlet__head-caption">
            <div class="m-portlet__head-title">
                <span class="m-portlet__head-icon m--hide">
                    <i class="la la-gear"></i>
                </span>
                <h3 class="m-portlet__head-text">
                    Add Categories
                </h3>
            </div>
        </div>
    </div>

    <!--begin::Form-->
    <form class="m-form m-form--fit m-form--label-align-right m-form--group-seperator" id="form_category" method="post" action="">
        <div class="m-portlet__body">
            <div class="form-group m-form__group row">
                <label class="col-lg-2 col-form-label">
                    Category Name:
                </label>
                <div class="col-lg-6">
                    <input type="text" id="catname" class="form-control m-input" placeholder="Enter category name" name="cname">
                    <span id="ecname" style="color: red;"> </span>
                </div>
            </div>

            <div class="m-portlet__foot m-portlet__no-border m-portlet__foot--fit">
                <div class="m-form__actions m-form__actions--solid">
                    <div class="row">
                        <div class="col-lg-2"></div>
                        <div class="col-lg-6">
                            <span id="tochange">
                                <button id="save" type="button" class="btn btn-success">Save</button>
                            </span>

                            <button type="reset" class="btn btn-secondary">
                                Cancel
                            </button>
                        </div>
                    </div>
                </div>
            </div>
        <!--end::Portlet-->
        </div>
    </form>
    <!--end::Form-->
</div>

单击edit按钮,一切正常,我输入时得到类别名称也很完美,我的按钮也从保存更改为更新,但仅输入cid作为对象的值而不是1,2,3等等等。

1 个答案:

答案 0 :(得分:-1)

    $("[id^=get]").click(function() {

// Assigning Variables to Form Fields

var cid  = $(this).val();

if(cid){
      $.ajax({

     type: "post",
     url: "getsingle.php",
    asynch: false,
   data: {
    "cid": cid 

     },
     success: function(data){   
             $("#catname").val(data);
          $("#tochange").html("<button id='update' type='button' class='btn btn-success'>Update</button>");
          $("#categories").html("");
         $("#form_category").append("<div class='form-group m-form__group row'><div class='col-lg-6'><input type='text' id='cid' class='form-control m-input' placeholder='Enter category name' name='cname'></div>");
         $("#cid").val(cid);
     }

});
}

else{
                     $("#ecname").html("fill category name");
}

我已经解决了它,而是在附加值中给出了值,我在显示效果完美后分别给了它。