$.ajax 成功函数返回 null

Posted

技术标签:

【中文标题】$.ajax 成功函数返回 null【英文标题】:$.ajax success function returns null 【发布时间】:2013-03-10 21:11:51 【问题描述】:

我设置了一个基本的登录表单,我正在使用 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 等等。

【问题讨论】:

使用现代浏览器如 Firefox 或 Chrome,您应该观察开发工具以确定请求/响应是否如您所愿。 你可以通过简单的 var data = that.serializeArray() 获取表单数据,无需手动遍历字段。此外,请检查浏览器控制台以验证帖子和响应。 也试过这样做。 看起来您在成功回调中得到了空的 NOT null 响应,尝试从浏览器窗口调用 textlogin.php 并将参数作为查询字符串传递,检查您在浏览器窗口中看到的内容。并请分享textlogin.php 代码。 是的,对不起,我得到的是空结果,而不是 null。 【参考方案1】:

这里是 Ajax 的示例代码。

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

请试试这个。

如果您使用的是 Mozilla Firefox,请安装 firebug add on 。安装firebug后打开它。现在您可以找到控制台选项卡。使其启用。现在,当您运行 ajax 时,您可以看到这里。

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

如果有效请回复我。

【讨论】:

【参考方案2】:

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

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)
            
            
    );

     

【讨论】:

无需将dataType 指定为jaspon,因为$.ajax 会自行处理。我的问题解决了伙计。感谢您光临。

以上是关于$.ajax 成功函数返回 null的主要内容,如果未能解决你的问题,请参考以下文章

从arraylist返回值到ajax成功函数

如何从ajax成功函数返回数据?

即使函数成功,Ajax 结果总是返回错误

Ajax - 如何在成功函数中使用返回的数组

PHP Laravel 4.2 ajax post返回null或空

Windows 函数“GetCursorInfo”返回成功,但光标的句柄为 NULL