1

成功が期待どおりに機能しない ajax 呼び出しに問題があります。コンソールを確認し、サーバー側のスクリプトが取得して応答しています。また、コンソールに応答を表示するために console.debug 呼び出しを行いました。そして何も起こりません。恐怖を読んだ後、エラーが見つかりませんでした。それについて私を助けてもらえますか?

私のアヤックス

$.ajax({
            url: '{% url 'credentials.ajax.users_save' %}',
            type: 'post',
            dataType: 'json',
            data: {
                user_id: $('#user_id').val(),
                username: $('#username').val(),
                password: $('#password').val(),
                last_name: $('#last_name').val(),
                first_name: $('#first_name').val(),
                email: $('#email').val(),
                address: $('#address').val(),
                phone_office: $('#phone_office').val(),
                phone_home: $('#phone_home').val(),
                expiration: $('#expiration').val(),
            },
            success: function (msg) {
                console.debug(msg)
                if ( msg == false || parseInt(msg) == 0) {
                    $.pnotify({
                        title: '{% trans 'Error' %}',
                        text: '{% trans 'There were a error, please try again' %}',
                        type: 'error'
                    });

                } else {
                    $.pnotify({
                        title: '{% trans 'Congrats' %}',
                        text: '{% trans 'User has been create' %}',
                        type: 'success'
                    });
                    $('#modalCreateUser').modal('hide');
                    window.setTimeout(function(){location.reload()}, 2000)

                }
            }
        });

私のサーバー側機能

def users_save (request):
    try:
        if request.is_ajax() and request.POST:
            user_id = request.POST['user_id']
            s = get_current_site(request)
            print s.id
            u = User (
                      username = request.POST['username'],
                      first_name = request.POST['first_name'],
                      last_name = request.POST['last_name'],
                      email = request.POST['email']
                      )
            u.set_password(request.POST['password'])
            up = UserProfile(
                      address = request.POST['address'],
                      phone_home = request.POST['phone_home'],
                      phone_office = request.POST['phone_office']
                             )
            up.user = u
            up.site = s
            #up.save()
            u.save()
            return HttpResponse(True, mimetype='application/json')
    except:
        return HttpResponse(False, mimetype='application/json')
4

2 に答える 2

0

返信していたことに気づきました

return HttpResponse(False, mimetype='application/json')

それ以外の

return HttpResponse(0, mimetype='application/json')

True は django 構文であるため、javascript と jquery がそれを解析できなかったため、どうすればよいかわかりません。それを変更したところ、現在はうまく機能しています

どうもありがとう

于 2013-06-27T23:39:05.843 に答える