从ajax和php返回一个变量成功

时间:2017-12-04 22:56:58

标签: javascript php jquery ajax

我正在使用AJAX (jQuery)将表单发布到user-ajax.php,但页面实际上需要回显"success"之类的响应。在ajax代码即时测试响应值,如果它等于成功我做某事,但它在这里不工作是PHP代码

function ajaxlogin($config,$lang){
   //something
        $response = 'success';
        echo $response;

}

ajax代码:

$(document).ready(function () {
    $("#login").click(function () {
        $("#login-status").show();
        var action = $("#lg-form").attr('action');
        var form_data = {
            action: action,
            username: $("#username").val(),
            password: $("#password").val(),
            is_ajax: 1
        };

        $.ajax({
            type: "POST",
            url: ajaxurl,
            data: form_data,
            success: function(response) {
                alert (response); //this alert show "success"
                if (response == 'success') {
                    $("#lg-form").slideUp('slow', function () {
                        $("#login-status").removeClass('info-notice').addClass('success-notice');
                        $("#login-status #login-status-message").html('Logged in success. Redirecting....');
                        location.reload();
                    });
                }
                else {
                    $("#login-status").removeClass('info-notice').addClass('error-notice');
                    $("#login-status #login-status-message").html(response);
                }
            }
        });
        return false;
    });
});

我的问题是警报显示"success""if (response == 'success')"指令未执行,而是直接转到其他地方。通常'success'== 'success'

1 个答案:

答案 0 :(得分:0)

对你的帮助太多了。我的确完全像你建议的console.log(response.length),它显示8.我使用if($ .trim(响应)=='成功')并且它正在工作。非常感谢您的支持