Как загрузить выпадающее меню, используя ajax - PullRequest
0 голосов
/ 29 февраля 2020

раскрывающийся список загрузки, когда я добавляю данные в таблицу городов, в то время как ниже раскрывающийся список загружается на странице без загрузки страницы

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" 
    DataSourceID="SqlDataSource1" onchange="showhideDiv()" 
    DataTextField="Name" DataValueField="Name"></asp:DropDownList>


<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    SelectCommand="SELECT [Name] FROM [City]"></asp:SqlDataSource>

<script type="text/javascript">
$(document).ready(function () {
    $('#btnAddCity').click(function () {
        $.ajax({
            type: 'POST',
            contentType: "application/json; charset=utf-8",
            url: '2tabledataenterusing1page.aspx/insert_data',
            data: "{'Name':'" + document.getElementById('txtaddcity').value + "'}",

            success: function (response) {
                $('#txtaddcity').val('');
                $('#MainContent_DropDownList1').Onload();
                alert("Record Has been Saved in Database");
            },
            error: function () {
                console.log('there is some error');
            }
        });
    });
});
</script>  

1 Ответ

0 голосов
/ 29 февраля 2020

Ошибка # 1

Вы не хотите использовать .click() в качестве события, потому что click запускает немедленно , когда пользователь нажимает на выпадающий, задолго до того, как они выберут новое значение.

Использование .change().


Ошибка # 2

Это неправильно:

data: "{'Name':'" + document.getElementById('txtaddcity').value + "'}"

Создает следующую строку:

{'Name':'some city name'}

и это не JSON. В JSON нет строк в одинарных кавычках, попытка разобрать это на стороне сервера завершится неудачей.

Не создавать JSON путем конкатенации строк. Всегда. Всегда используйте JSON.stringify().

data: JSON.stringify({Name: document.getElementById('txtaddcity').value}),

Это создаст действительный JSON из JS объекта, и сервер сможет успешно его проанализировать.

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