Question

I tried deleting an item from a table with AJAX via a POST call.

///// DELETE INDIVIDUAL ROW IN A TABLE /////
jQuery('.stdtable .delete').live('click', function (e) {
//var newsId1 = $(this).attr("title");

e.preventDefault();

var p = jQuery(this).parents('tr');

if (p.next().hasClass('togglerow'))
   p.next().remove();

p.fadeOut(function () {
    jQuery(this).remove();
});

$.ajax({
  URL: "/AdminPanel/News/DeleteNews",
  data: { "newsId": 1 },
  dataType: "json",
  type: "POST",
  success: function (msg) {
  alert(msg);
}
}); 

In this code I get Uncaught TypeError: Cannot read property 'ajax' of undefined.

Was it helpful?

Solution

Did you try doing what the rest of the code is doing, using jQuery

jQuery.ajax({
  URL: "/AdminPanel/News/DeleteNews",
  data: { "newsId": 1 },
  dataType: "json",
  type: "POST",
  success: function (msg) {
  alert(msg);
}

You can wrap your code in a DOM ready function that sets the value of $ locally in the function scope, that way you can always use $

jQuery(function($) {
    // code goes here
});

OTHER TIPS

I can't solve the problem using jQuery instead of $.

In my case, I add the source jQuery.js and solve the problem, like

<script src="<%= Page.ResolveUrl("~/JS/jQuery.js") %>"></script>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top