почему пост JSON не работает с AJAX? Что мне делать - PullRequest
0 голосов
/ 06 февраля 2019

что-то не так с моим кодом?потому что это идет к части ошибки, когда я запускаю его

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

<script type="text/javascript">

    $(function() {
        $('#btnRegister').click(function () {
            var name = $('#inputFname').val();
            var family = $('#inputLname').val();
            var username = $('#inputUname').val();
            var password = $('#inputPassword').val();
            var mobile = $('#inputMobile').val();
            var address = $('#inputEmail').val();
            if (name !== '' && family !== '') {
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "Registeration.aspx.cs/InsertUser",
                    data: "{'FirstName':'" + name + "' , 'LastName' : '" + family + "' , 'UserName' :'" + username + "' , 'Password':'" + password + "', 'Mobile': '" + mobile + "','Address': '" + address + "'}",
                    dataType: "json",
                    success: function(data) {
                        $('#inputFname').value('a');
                        $('#inputLname').value('a');
                        $('#inputUname').value('a');
                        $('#inputPassword').value('a');
                        $('#inputMobile').value('a');
                        $('#inputEmail').value('a');
                        alert("Registeration Complete");

                    },
                    error: function(result) {
                        alert("Registeration Failed!");
                    }
                });
            } else {
                alert("Please fill all fields!");
                return false;
            }
        });
    })   

</script>

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

если ваш ajax переходит в секцию ошибки вызова, URL-адрес ответа имеет проблему с обработкой.ну, обычно это как минимум.
console.log результат ошибки, поэтому у нас есть представление о проблеме

error: function(result) {
    console.log(result);
    }

и то, что говорит Банухан, имеет смысл.
вы также можетеиспользуйте .serialize (), чтобы получить все входные данные из формы
var str = $( "form" ).serialize(); https://api.jquery.com/serialize/

edit:

$(function() {
        $('#btnRegister').click(function () {
            var name = $('#inputFname').val();
            var family = $('#inputLname').val();
            var username = $('#inputUname').val();
            var password = $('#inputPassword').val();
            var mobile = $('#inputMobile').val();
            var address = $('#inputEmail').val();
            if (name !== '' && family !== '') {
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "Registeration.aspx.cs/InsertUser",
                    data: $( "#formId" ).serialize(),
                    success: function(data) {
                        $('#inputFname').value('a');
                        $('#inputLname').value('a');
                        $('#inputUname').value('a');
                        $('#inputPassword').value('a');
                        $('#inputMobile').value('a');
                        $('#inputEmail').value('a');
                        alert("Registeration Complete");

                    },
                    error: function(result) {
                        console.log(result)
                        //the result var in this case returns the response from the website. usually this holds a error of some kind
                    }
                });
            } else {
                alert("Please fill all fields!");
                return false;
            }
        });
0 голосов
/ 06 февраля 2019

Вы предоставляете данные string вместо JSON

data: "{'FirstName':'" + name + "' , 'LastName' : '" + family + "' , 'UserName' :'" + username + "' , 'Password':'" + password + "', 'Mobile': '" + mobile + "','Address': '" + address + "'}"

Вы должны изменить это на формат JSON,

data: {
    FirstName:name, 
    LastName:family, 
    UserName: username, 
    Password:password, 
    Mobile:mobile,
    Address:address
    }

Этот код должен быть похож на

$(function () {
    $('#btnRegister').click(function () {
        var name = $('#inputFname').val();
        var family = $('#inputLname').val();
        var username = $('#inputUname').val();
        var password = $('#inputPassword').val();
        var mobile = $('#inputMobile').val();
        var address = $('#inputEmail').val();
        if (name !== '' && family !== '') {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "Registeration.aspx.cs/InsertUser",
                data: {
                   FirstName:name, 
                   LastName:family, 
                   UserName: username, 
                   Password:password, 
                   Mobile:mobile,
                   Address:address
                },
                dataType: "json",
                success: function (data) {
                    $('#inputFname').value('a');
                    $('#inputLname').value('a');
                    $('#inputUname').value('a');
                    $('#inputPassword').value('a');
                    $('#inputMobile').value('a');
                    $('#inputEmail').value('a');
                    alert("Registeration Complete");
                },
                error: function (result) {
                    alert("Registeration Failed!");
                }
            });
        } else {
            alert("Please fill all fields!");
            return false;
        }
    });
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...