Запись не обновляется

Я отправляю данные через Ajax на страницу update.aspx вместе с идентификатором. Не знаю, правильно это или нет.

Я проверил данные, они не отправляются на страницу update.aspx. Форма состоит только из полей fname,age. Вот так я отправляю данные в update.aspx для обновления, когда пользователь нажимает кнопку редактирования:

data: {fname: '" + $('#fname').val() + "',age: '" + $('#age').val() + "'}" + "&id = " + id,  

Снимок экрана.

Запись не обновляется

Полный код Ajax

$.ajax({
    type: 'POST';,
    url: 'update.aspx/doSomething',
    dataType: 'JSON',
    contentType: "application/json; charset=utf-8",
    data: { fname: '" + $('#fname').val() + "', age: '" + $('#age').val() + "'}" + "& id = " + id, 
                    success: function(data) {
    }

страница update.aspx

public class UserClass
{
    public string fname { get; set; }
    public int age { get; set; }
}

[WebMethod]
public static string doSomething(string fname, int age, int id)
{
    SqlConnection con = new SqlConnection("server=.; Initial Catalog = jds; Integrated Security= true;");
    string sql = "update record set name ='" + fname + "', age ='" + age + "' where id = '" + id + "')";
    SqlCommand cmd = new SqlCommand(sql, con);
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    return "Sucess";
}

когда я нажимаю кнопку редактирования, он переходит к функции get_category_details вместе с идентификатором записи Изменить код кнопки

"sTitle": "Edit",
"mData": "id",
"render": function (mData, type, row, meta) {
       return '<button class = "btn btn-xs btn-success" onclick = "get_category_details(' + mData + ')  ">Edit</button>';

get_category_details все данные, отображаемые в текстовых полях.

  function get_category_details(id) {
                $.ajax({
                    type: 'POST',
                    url: 'edit_return.asmx/doSome',
                    dataType: 'JSON',
                    data: "{id: '" + id + "'}",
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        console.info(data);
                        $("html, body").animate({ scrollTop: 0 }, "slow");
                        isNew = false;                    
                       id = data.d[0].id
                       $('#fname').attr('value', data.d[0].fname);
                       $('#age').attr('value', data.d[0].age);

                    }
                });
            }

этот идентификатор, который я использовал для обновления id = data.d [0] .id

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
116
2

Ответы 2

измените свой код ajax, как показано ниже

 var dataValue = { "fname": $('#fname').val(), "age": $('#age').val(), "id": id};

         $.ajax({                  
                            type:'POST';,
                            url: 'update.aspx/doSomething',
                            dataType: 'JSON',
                            contentType: "application/json; charset=utf-8",
                            data: JSON.stringify(dataValue),
                            success: function (data) {

                            }
              });

измените свой код веб-метода, как показано ниже

public class UserClass
{
    public string fname { get; set; }
    public int age { get; set; }
    public int? id { get; set; }
}

[WebMethod]
public static string doSomething(UserClass userClass)
{
    SqlConnection con = new SqlConnection("server=.; Initial Catalog = jds; Integrated Security= true;");
    string sql = "update record set name ='" + userClass.fname + "', age ='" + userClass.age + "' where id = '" + userClass.id + "')";
    SqlCommand cmd = new SqlCommand(sql, con);
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    return "Sucess";
}

Можете ли вы объяснить Зачем, что он должен изменить, а Какие, ваш код, отличается?

Uwe Keim 28.12.2018 06:36

это была синтаксическая ошибка в разделе data :. вы неуместны}.

Midhun P 28.12.2018 06:37

если я напишу вот так, получение данных об ошибке: {fname: '"+ $ (' # fname '). val () +"', age: '"+ $ (' # age '). val () +"' , id: youridVariable}, ожидается;

Programmer Hari 28.12.2018 06:39

измените youridVariable на значение Id, которое у вас есть

Midhun P 28.12.2018 06:40

data: {fname: '"+ $ (' # fname '). val () +"', age: '"+ $ (' # age '). val () +"', id: id}, вот так но ошибка сэр ожидалась;

Programmer Hari 28.12.2018 06:42

Я изменил ответ. Пожалуйста, попробуйте

Midhun P 28.12.2018 06:49

Вы пропустили }); в конце закрытия ajax

Midhun P 28.12.2018 06:55

теперь ошибок нет, но записи не обновляются, данные не передаются на страницу

Programmer Hari 28.12.2018 07:00

Вы пробовали последний код, который я написал для ответа? поместите отладчик в веб-метод ur и проверьте, попадает ли вызов ajax в ur веб-метод или нет

Midhun P 28.12.2018 07:15

сэр, я попытался поставить точку останова, но данные не переданы, есть ли ошибка, я обновил полные коды выше

Programmer Hari 28.12.2018 07:21

id = data.d [0] .id это переменная id. update.aspx правильный или нет, сэр

Programmer Hari 28.12.2018 07:21

Я попробовал код, который вы разместили сейчас. но запись не обновлялась, сэр.

Programmer Hari 28.12.2018 08:11

попробуйте Console.log (dataValue) и проверьте правильность значения или нет

Midhun P 28.12.2018 08:18

в каком месте я должен называть его Console.log (dataValue) внутри функции успеха ajax

Programmer Hari 28.12.2018 08:22

Uncaught ReferenceError: идентификатор не определен в этой строке ошибки var dataValue = {"fname": $ ('# fname'). Val (), "age": $ ('# age'). Val (), "id": я бы};

Programmer Hari 28.12.2018 08:36

это потому, что идентификатор нигде на странице не объявлен. объявить идентификатор и присвоить ему правильное значение и попробовать

Midhun P 28.12.2018 08:41

жесткий код "id": 0 в значении данных и проверьте, попадает он или нет

Midhun P 28.12.2018 08:42

Позвольте нам продолжить обсуждение в чате.

Midhun P 28.12.2018 08:43

Вы можете обновить только свою функцию ajx таким образом

     $.ajax({
        type: 'POST',
        url: 'update.aspx/doSomething',
        dataType: 'JSON',
        contentType: "application/json; charset=utf-8",
        data: {
               fname:$('#fname').val(),
               age:$('#age').val(),
               id:id //this id is your like fname or age that.You have get id from your request
      } 
      success: function(data) {
     }

{fname: 'kobianth', age: '122', id: 'null'} проходит как тот, сэр

Programmer Hari 28.12.2018 11:47

_data = "{fname: '" + $ (' # fname '). val () + "', age: '" + $ (' # age '). val () + "', id: '" + id + "'}"; вот как я отправил значения в update.aspx идентификатор страницы, всегда получая null

Programmer Hari 28.12.2018 11:48

Сначала вы получаете идентификатор из выбранной строки. Подобно этой var table = document.getElementById ("tableId"); var row = table.rows [индекс]; console.info (row.id); // это ваши значения идентификатора alert ($ ("table tr: nth-child (2)"). attr ('id')); ссылка Получить идентификатор из таблицы: stackoverflow.com/questions/13746153/…

Sundar 28.12.2018 17:45

Другие вопросы по теме