$ .ajax成功函数返回null

时间:2013-03-21 11:24:36

标签: php ajax jquery

我有一个基本的登录表单设置,我使用ajax请求将两个变量(登录名+密码)发送到另一个页面,该页面相应地检查并返回状态。我的ajax代码

$('form.login_form').on('submit', function(){
    var that = $(this),
    url = "textlogin.php",
    type = that.attr('method'),
    data = {};

    that.find('[name]').each(function(index, value){
        var that = $(this),
        name = that.attr('name'),
        value = that.val();
        data[name] = value;
    });

    $.ajax({
        url: url,
        type: type,
        data: data,

        success: function(response){
            if(response==""){
                $('#login_err').html("its null");
            }else{
                $('#login_err').html(response);
            }
        }
    });
    return false;
});

不起作用,success函数始终返回null。代码工作正常,直到我没有使用ajaxjquery dialog进行登录。 我试过的事情:  1.设置Content-type  2.设置dataType  3.使用$ .post,什么不是。

2 个答案:

答案 0 :(得分:0)

以下是Ajax的示例代码。

$.ajax({
        url: "login.php?",
        data:"username="+username+"&password="+password,
        success: function(data)
        {
        }
});

请试试这个。

如果您使用的是Mozilla Firefox,请安装firebug add。安装firebug后打开它。现在您可以找到控制台tab.make it enable。现在,当你运行ajax时,你可以在这里看到。

假设你直接传递数组然后更好的方法是在php中使用implode函数,所以使用这个函数。

如果有效,请给我回复。

答案 1 :(得分:0)

您需要指定数据类型。我希望这会对你有所帮助

function a()
{
  var ip=new Object(); 
ip.name=value;
var data=JSON.stringify(ip);

    $.ajax({
            url: "http://127.0.0.1/file.php",
            data:data,
            dataType:"json",
           success: function(data)
            {
            }
    });

}