Quiero que los usuarios vuelvan a navegar a la misma página después de hacer clic en el botón de la página. Si la URL del usuario es https://localhost:xxx/Inventories/Index/38?custID=38&rmName=A2A , haga clic en el botón para realizar el procesamiento y volver a la misma página con el mismo parámetro de entrada. En el botón, haga clic en tengo la siguiente lógica
<script type="text/javascript"> $(document).ready(function () { $(document).on("click", "#buyNow", (function (e) { e.preventDefault(); e.stopImmediatePropagation(); var id=$(this).data("id"); onBuyNow(id); })); function onBuyNow(id) { var quantityReq = $("#quantityReq" + id).val(); var customerId = $("#customer" + id).val(); var data = { customerID: customerId, quantityReq: quantityReq, invetoryID: id }; $.ajax({ type: 'POST', url: '@Url.Action("OrderItem", "Inventories")', data: data, dataType: "json", success: function (result) { alert("hello"); var url = '@Url.Action("Index", "Inventories")'; var rmName = @HttpContextAccessor.HttpContext.Request.Query["rmName"]; alert(roomId); window.location.href = `${url}?custID=${customerId}&rmName=${rmName}&success=true`; }, error: function (error) { alert(error); } }); }; }); </script> Cuando hago clic en el botón después de que el botón realiza el procesamiento, puedo ver la alerta con un saludo, pero cuando intenta obtener el parámetro de consulta de la página actual @HttpContextAccessor.HttpContext.Request.Query["rmName"]; sigue tirando
¿Hay alguna sugerencia de cómo puedo volver a la página existente después de que el clic del botón sea exitoso? Cualquier ayuda es muy apreciada
¿Dónde debo agregar las comillas?
Como dijo @GuyVdN, debe modificar el rmName a una cadena en lugar de ser el objeto.
Deberías ponerlo así y luego funcionará.
var rmName = '@HttpContextAccessor.HttpContext.Request.Query["rmName"]';