$.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。代码运行良好,直到我没有使用 ajax
和 jquery 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的主要内容,如果未能解决你的问题,请参考以下文章