JQuery Get и Post не работают в ASP.NET MVC 5 - PullRequest
1 голос
/ 24 мая 2019

Я создал действие в mvc и попытался вызвать действие с помощью jquery.get.Полученный ответ был not found(404).Ниже приведен метод действия и jquery код.

Ошибка:

GET http://localhost:52050/Products/PriceWithTax?pid=1 404 (не найдено)

ПоследнийJquery 3.4.1 включено в Bundle.config.

Метод действия в MVC

 public decimal PriceWithTax(int pid)
        {
            ApplicationDbContext dbContext = new ApplicationDbContext();
            var product = dbContext.Products.FirstOrDefault(x => x.Id == pid);
            return (decimal)((product.Price * 0.18m) + product.Price);
        }

Jquery на странице .cshtml

@section Scripts{
    <script>
            jQuery(document).ready(function(){
                jQuery("#Id").blur(function () {
                    var productId = $(this).val();
                    var tax = jQuery("#txtTax");
                    jQuery.get('@Url.Action("PriceWithTax","Products")', { pid: productId }, function (data) {
                        tax.val(data);
                      });
                    //jQuery.get('/Products/PriceWithTax', { pid: productId }, function (data) {
                    //    tax.val(data);
                    //});
                });
            });
    </script>
}```
I tried $ instead on jQuery and get instead of post

1 Ответ

0 голосов
/ 24 мая 2019

Измените метод действия, чтобы он возвращал JsonResult вместо decimal следующим образом:

public JsonResult PriceWithTax(int pid)
{
   ApplicationDbContext dbContext = new ApplicationDbContext();
   var product = dbContext.Products.FirstOrDefault(x => x.Id == pid);
   var value = (decimal)((product.Price * 0.18m) + product.Price);
   return Json(value,JsonRequestBehavior.AllowGet);
}

, чтобы получить дополнительную документацию о типах результатов действия, проверьте эту ссылку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...