मेरे पास मेरे पृष्ठ पर कई प्रविष्टियां हैं और प्रत्येक प्रविष्टि में एक डिलीट बटन होता है और जब मैं बटन पर क्लिक करता हूं तो AJAX एपीआई को कॉल नहीं कर रहा है?

मैं यह पता लगाने की कोशिश कर रहा हूं कि मैं कहां गलती करने जा रहा हूं। अगर किसी को पता चल गया। कृपया मुझे बताना।

बटन

<button type="button" data-entryId="@entry.Id" class="btn-delete btn btn-danger CustomStyleForEditAndDeleteButton">
   Delete
</button>

एपी

// Get : api/entries/1
[HttpDelete]
public IHttpActionResult DeleteEntry(int id)
{
   var entryInDb = _context.Entries.SingleOrDefault(x => x.Id == id);
   if (entryInDb == null)
      return NotFound();
      else
         _context.Entries.Remove(entryInDb);
      _context.SaveChanges();

      return Ok();
}

jQuery

@section scripts{
    <script>
        $(document).ready(function () {
            jQuery(".btn-delete").click(function () {
                bootbox.confirm({
                    size: "small",
                    message: "Are you sure you want to delete this post?",
                    callback: function (result) {
                        if (result) {
                            jQuery.ajax({
                                url: "/api/entries/" + this.attr("data-entryId"),
                                method: "DELETE",
                                success: function () {
                                    bootbox.alert("The post is successfully deleted!");
                                },
                                error: function () {
                                    bootbox.alert("something goes wrong when attempting delete operation please try again.");
                                }
                            });
                        }
                    }
                });
            });
        });
    </script>
}

धन्यवाद।

0
Rehan Shah 12 फरवरी 2019, 14:05

1 उत्तर

सबसे बढ़िया उत्तर

समस्या jQuery बटन के साथ थी। this.attr("//..")

सही jQuery कोड:

            $(document).ready(function () {
            // #entriesDetails - Parent element of a button.
            jQuery("#entriesDetails").on("click", ".btn-delete", function () {

                var button = $(this);

                bootbox.confirm({
                    size: "small",
                    message: "Are you sure you want to delete this post?",
                    callback: function (result) {
                        if (result) {
                            jQuery.ajax({
                                url: "/api/entries/" + button.attr("data-entryId"),
                                method: "DELETE",
                                success: function () {
                                    bootbox.alert("The post is successfully deleted!");
                                    window.location.reload();
                                },
                                error: function () {
                                    bootbox.alert("something goes wrong when attempting delete operation please try again.");
                                    window.location.reload();
                                }
                            });
                        }
                    }
                });
            });

        });
0
Rehan Shah 12 फरवरी 2019, 16:08