Quiero Eliminar fila con jquery ajax, en mi opinión, llamo a la función js para el controlador/acción ajax
<a href="javascript:void(0);" onClick="markup2('@Url.Action("ChannelDelete", "MyInfo", new {area = ""})');" class="btn btn-lg btn-danger" style="margin-bottom: 15px;">Delete</a> function markup2(e) { $(function() { $("#LoadPages").empty(); $("#LoadPages").html('<div style="padding: 20px 15px"><div class="row"><div class="center-block col-md-1" style="float: none;"><img src="/Upload/pageLoader.gif" alt="loading..." /></div></div></div>'); $.ajax({ type: "POST", url: e }).done(function(data) { $("#LoadPages").load(data); }); return false; }); } La función anterior también está bien, obtenga url y envíe AJAX POST y obtenga datos; al devolver datos (html) e insertarlos en el elemento $("#LoadPages") ( ("#LoadPages").load(data) )
dame un error:
Error: error de sintaxis, expresión no reconocida:
<h2>my channels</h2> <table class="table"> <tr> <th> channel name </th> <th> name </th> <th> UserSelectedChannelJoinDate </th> <th></th> </tr> </table>
no se por que sale el error
En primer lugar, debería utilizar controladores de eventos discretos en lugar de atributos de eventos on* obsoletos.
En segundo lugar, su problema se debe al uso de load() . Ese método está destinado a recibir una URL para realizar una solicitud AJAX que devuelve HTML, que luego se establece como el contenido del elemento especificado. Sin embargo, su código proporciona una cadena HTML en lugar de una URL, de ahí el error.
Para arreglar esto, use html() en lugar de load() :
<a href="#" data-action="@Url.Action("ChannelDelete", "MyInfo", new {area = "" })" class="btn btn-lg btn-danger">Delete</a> $(function() { $('.btn').click(function(e) { e.preventDefault(); $("#LoadPages").html('<div style="padding: 20px 15px"><div class="row"><div class="center-block col-md-1" style="float: none;"><img src="/Upload/pageLoader.gif" alt="loading..." /></div></div></div>'); $.ajax({ type: "POST", url: $(this).data('action') }).done(function(data) { $("#LoadPages").html(data); }); }); }); También le sugiero encarecidamente que use una hoja de estilo externa en lugar del atributo de style en su HTML.