AJAX-запрос не обновляет базу данных SQL Server - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть форма, позволяющая пользователю редактировать данные в базе данных, используя Ajax и ASP.Не уверен, почему вызов ajax не обновляет базу данных в соответствии с запросом.

AJAX / jQuery код:

$('#editbtn').click(function(){
        var thisid = $('#edsid').val();
        var enm = $('#edtName').val();
        var eml = $('#edtEmail').val();
        var egp = $('#editSubForm input[name=edgrp]').val();
        var dataString = 'act=upd&sid=' + thisid + '&edName='+ enm + '&edEmail='+ eml + '&edgrp='+ egp;
        $.ajax({
        type: 'GET',
        url: '/subscr_query.asp',
        data:  dataString,
        success: function(){
                //alert(dataString);
                $('#successmsg').append("Edited!");
                $('#successmsg').fadeIn(1200, function(){$(this).fadeOut(2000);});
                },
        error: function(){
                $('#delpop').fadeIn(300);
                }
            });
    });

Форма содержит кнопку отправки с идентификатором "editbtn" .Форма, кажется, обрабатывается без обновления базы данных с текущей информацией.

Я проверил queryString на странице subscr_query.asp, введя данные, которые выводятся из формы на страницу напрямую, и dbобновлено как ожидалось.

Есть идеи?

1 Ответ

2 голосов
/ 23 ноября 2011

Я подозреваю, что вы не запрещаете действие по умолчанию;следовательно, он отправляет форму перед выполнением запроса ajax.Используйте preventDefault

$('#editbtn').click(function(e){
        var thisid = $('#edsid').val();
        var enm = $('#edtName').val();
        var eml = $('#edtEmail').val();
        var egp = $('#editSubForm input[name=edgrp]').val();
        var dataString = 'act=upd&sid=' + thisid + '&edName='+ enm + '&edEmail='+ eml + '&edgrp='+ egp;
        $.ajax({
        type: 'GET',
        url: '/subscr_query.asp',
        data:  dataString,
        success: function(){
                //alert(dataString);
                $('#successmsg').append("Edited!");
                $('#successmsg').fadeIn(1200, function(){$(this).fadeOut(2000);});
                },
        error: function(){
                $('#delpop').fadeIn(300);
                }
            });
      e.preventDefault(); // prevent default action
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...