MahmoudOmar Ответов: 0

Я использовал ajax для создания поиска и каждый раз получаю ошибку в MVC


это мой код ajax
$("#btnSearch").click(function () {
                    var goverId = parseInt($("#SellerSearch_gover_id").val());
                    var cityId = parseInt($("#SellerSearch_city_id").val()) || 0;
                    var setData = $("#tableid");

                    setData.html("");
                    $.ajax({
                        type: "POST",
                        url: "/ReSeller/GetSearch?goverId" + goverId + "&cityId" + cityId,
                        contentType: "html",
                        success: function (result) {
                            if (result.length == 0) {
                                setData.append('<tr style="color: red; "><td colspan="3">No match data</td></tr>')
                            }
                            else {
                                $.each(result, function (index, value) {
                                    var Data = "<tr>" +
                                        "<td>" + value.seller.seller_name_en + "</td>" +
                                        "<td>" + value.seller.governorate.gover_name_en + "</td>" +
                                        "<td>" + value.seller.city.city_name_en + "</td>" +
                                        "<td>" + value.seller.address_en + "</td>" +
                                        "<td>" + value.seller.phone1 + "</td>" +
                                        "<td>" + value.seller.phone2 + "</td>" +
                                        "</tr>";

                                    setData.append(Data);
                                })
                            }
                        },
                        error: function (xhr, ajaxOptions, errorThrown) {
                            alert(xhr.responseText);
                        }
                    })
                });


а это мой код на C# :
public JsonResult GetSearch(int goverId, int cityId)
        {
            SellerSearchViewModel model = new SellerSearchViewModel();

            try
            {
                var result = db.seller.Where(x => x.gover_id == goverId || x.city_id == cityId).ToList();
                model.seller = result;
            }
            catch(FormatException)
            {
                Console.WriteLine("Error");
            }
            return Json(model, JsonRequestBehavior.AllowGet);
        }


а этот html :-
@model WepProjectWhiteWhale.Models.SellerSearchViewModel

@{
    ViewBag.Title = WhiteWhaleLanguage.ReSeller;
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<style>
    table {
        table-layout: fixed;
        word-wrap: break-word;
    }

    .breadcrumb > li + li:before {
        color: #646464;
    }

    .Disable_ActiveClear {
        pointer-events: none;
        cursor: default;
    }
</style>

<div class="breadcrumbs">
    <div class="container">
        <ol class="breadcrumb breadcrumb1 animated wow slideInLeft" data-wow-delay=".5s" style="background-color: #b1b1b2;">
            <li><a href="@Url.Action("Index", "Home" )"><span class="glyphicon glyphicon-home" aria-hidden="true"></span>@WhiteWhaleLanguage.Home</a></li>
            <li class="active" style="color: #3f3f3f;">@WhiteWhaleLanguage.ReSeller</li>
        </ol>
    </div>
</div>

<div class="checkout">
    <div class="container" style="margin-bottom: 20px;">
        @*@using (Html.BeginForm("Index", "ReSeller", FormMethod.Post))
            {*@

        @if (UICulture == "ar")
        {
        @Html.DropDownListFor(model => model.SellerSearch.gover_id, (SelectList)ViewBag.GovernorateAr,
                                  WhiteWhaleLanguage.PleaseSelectYourGovernorate, new { @style = "padding:0 12px; margin-bottom: 15px; margin-left: 10px; width:40%;", @class = "form-control", required = "required", title = @WhiteWhaleLanguage.Required })
        @Html.ValidationMessageFor(model => model.SellerSearch.gover_id, "", new { @class = "text-danger" })
        }
        else
        {
        @Html.DropDownListFor(model => model.SellerSearch.gover_id, (SelectList)ViewBag.GovernorateEn,
                                 WhiteWhaleLanguage.PleaseSelectYourGovernorate, new { @style = "padding:0 12px; margin-bootom: 15px; margin-left: 10px; width:40%", @class = "form-control", required = "required", title = @WhiteWhaleLanguage.Required })
        @Html.ValidationMessageFor(model => model.SellerSearch.gover_id, "", new { @class = "text-danger" })
        }

        @if (UICulture == "ar")
        {
        @Html.DropDownListFor(model => model.SellerSearch.city_id, (SelectList)ViewBag.CityAr,
                                 WhiteWhaleLanguage.PleaseSelectYourCity, new { @style = "padding:0 12px; margin-bottom: 15px; margin-left: 10px; width:40%", @class = "form-control" })
        }
        else
        {
        @Html.DropDownListFor(model => model.SellerSearch.city_id, (SelectList)ViewBag.CityEn,
                                 WhiteWhaleLanguage.PleaseSelectYourCity, new { @style = "padding:0 12px; margin-bottom: 15px; margin-left: 10px; width:40%;", @class = "form-control" })
        }


        <input type="submit" id="btnSearch" name="" value=@WhiteWhaleLanguage.Search , class="btn btn-primary" style="width:180px;" />

        @* } *@
    </div>
    <div class="container">
        <div class="checkout-right animated wow slideInUp" data-wow-delay=".5s">
            <table class="timetable_sub">
                <thead>
                    <tr>
                        <th></th>
                        <th>
                            @WhiteWhaleLanguage.ReSellerName
                        </th>
                        <th>
                            @WhiteWhaleLanguage.gover_id
                        </th>
                        <th>
                            @WhiteWhaleLanguage.city_id
                        </th>
                        <th>
                            @WhiteWhaleLanguage.Address
                        </th>
                        <th>
                            @WhiteWhaleLanguage.phone1
                        </th>
                        <th>
                            @WhiteWhaleLanguage.phone2
                        </th>
                    </tr>
                </thead>
                <tbody id="tableid">
                    @{ var i = 0; }
                    @foreach (var item in Model.seller)
                    {
                        <tr class="rem1">
                            <td class="invert">@(i += 1)</td>
                            <td class="invert">
                                @if (UICulture == "ar")
                                {
                                    @Html.DisplayFor(modelItem => item.seller_name_ar)
                                }
                                else
                                {
                                    @Html.DisplayFor(modelItem => item.seller_name_en)
                                }
                            </td>
                            <td class="invert">
                                @if (UICulture == "ar")
                                {
                                    @Html.DisplayFor(modelItem => item.governorate.gover_name_ar)
                                }
                                else
                                {
                                    @Html.DisplayFor(modelItem => item.governorate.gover_name_en)
                                }
                            </td>
                            <td class="invert">
                                @if (UICulture == "ar")
                                {
                                    @Html.DisplayFor(modelItem => item.city.city_name_ar)
                                }
                                else
                                {
                                    @Html.DisplayFor(modelItem => item.city.city_name_en)
                                }
                            </td>
                            <td class="invert">
                                @if (UICulture == "ar")
                                {
                                    @Html.DisplayFor(modelItem => item.address_ar)
                                }
                                else
                                {
                                    @Html.DisplayFor(modelItem => item.address_en)
                                }
                            </td>
                            <td class="invert">
                                @Html.DisplayFor(modelItem => item.phone1)
                            </td>
                            <td class="invert">
                                @Html.DisplayFor(modelItem => item.phone2)
                            </td>
                        </tr>
                    }
                </tbody>
            </table>
        </div>
    </div>
</div>


Что я уже пробовал:

я хочу создать поиск с помощью ajax

Suvendu Shekhar Giri

В чем заключается ошибка, которую вы получаете?

MahmoudOmar

Универсального не

Laxmidhar tatwa technologies

UICulture берется как @Viewbag.UICulture, который передается от контроллера с присвоением значения.
во-вторых на JavaScript AJAX-вызов в выпадающем списке изменить событие
в-третьих каждого текстового поля предоставить удостоверение личности и заполнить ajaxcall

massimiliano aronica

1. украсьте действие атрибутом HttpPost
2. Добавьте знак равенства (=) в URL ajax после имени параметров
3. измените тип содержимого на JSON
4. установите точку останова в коде действия, чтобы увидеть, поступает ли теперь вызов ajax.

F-ES Sitecore

Вы не можете просто выбросить весь свой код и ожидать, что люди помогут, вам нужно научиться шагать через свой код и отлаживать его. Вызывается ли ваше событие javascript click? Называется ли это действие? Если нет, то что говорит об этом запросе вкладка network в инструментах разработки вашего браузера? Какая строка выдает ошибку? Одна вещь, которую я вижу, просто глядя на код, заключается в том, что вы не формируете правильный url-адрес

url: "/ReSeller/GetSearch?goverId" + goverId + "&cityId" + cityId,

если goverId равен 1, а cityId-2, то Ваш url-адрес будет

/Реселлер/GetSearch?goverId1&cityId2

это неверно, это должно быть goverId=1 и cityId=2

url: "/ReSeller/GetSearch?goverId=" + goverId + "&cityId=" + cityId,

0 Ответов