net examples example con asp asp.net ajax jquery asp.net-ajax

asp.net - examples - $.post vs $.ajax



ajax jquery vb net (4)

Estoy tratando de usar el método $ .post para llamar a un servicio web, lo tengo funcionando usando el método $ .ajax:

$.ajax({ type: "POST", url: "StandardBag.aspx/RemoveProductFromStandardBag", data: "{''standardBagProductId'': ''" + standardBagProductId.trim() + "'' }", success: function(){ $((".reload")).click(); }, dataType: "json", contentType: "application/json" });

Pero cuando muevo el mismo método en el método $ .post, no funcionará:

$.post("StandardBag.aspx/RemoveProductFromStandardBag", "{''standardBagProductId'': ''" + standardBagProductId.trim() + "'' }", function () { $((".reload")).click(); }, "json" );

¿Qué me estoy perdiendo?


Esta es otra forma de hacerlo sin usar ajax. Utiliza post y devuelve un objeto json.

data = {}; data.standardBagProductId = standardBagProductId.trim(); $.post("StandardBag.aspx/RemoveProductFromStandardBag", data , function(response){ $(".reload").click(); },"json");


Intenta cambiar los datos de tu publicación como este,

{standardBagProductId: standardBagProductId.trim() }


No funciona porque en su método $.post no puede establecer el tipo de contenido de la solicitud en application/json . Por lo tanto, no es posible invocar un método de página ASP.NET usando $.post porque un método de página ASP.NET requiere una solicitud JSON. Tendrás que usar $.ajax .

Simplemente modificaría los data para garantizar que estén correctamente codificados en JSON:

$.ajax({ type: "POST", url: "StandardBag.aspx/RemoveProductFromStandardBag", data: JSON.stringify({ standardBagProductId: standardBagProductId.trim() }), success: function() { $(".reload").click(); }, dataType: "json", contentType: "application/json" });


para $ .post función segundo parámetro no debe estar en "".

$.post("StandardBag.aspx/RemoveProductFromStandardBag", {''standardBagProductId'': standardBagProductId.trim() }, function () { $(".reload").click(); }, "json" );