用jquery find 返回值怎么取不到返回值

Jquery ajax 返回的数组如何读取?
通过$.ajax调用相应php文件后,返回一数组,该如何调用啊?为什们用alert(data),显示为[object object]。(注意:返回的是数组,不是json格式数据)
以下是问题补充:
:用firefox跟踪,返回数组为:Array([0]=&"张三" [1]=&"李四")
:php返回为:print_r($res);
$res是一个数组
:print_r($res)中的$res是一个字符串数组。
:要养成“接受答案”的好习惯
for (var i = 0; i & data. i++) {
alert(data[i]);
恩,楼长正解。如果不是对象数组,这样遍历就可以了。
为什们用alert(data),显示为[object object]。
alert(data[i]的结果是:undifined,难道是对象数组???
下面是firefox的相应结果,为什么aleat(data),结果为[object object]? 如何遍历啊?
[0] =& 青山局
[1] =& 麻池
[2] =& 少先三所
[3] =& 青东路
[4] =& 富林路
[5] =& 振华
[6] =& 团二所
[7] =& 科学路
[8] =& 赛音道
[9] =& 幸福路二所
[10] =& 六十一支局
[11] =& 富强路
[12] =& 文化路)
1、dataType 为JSON,那么jquery会自动把JSON数据转化成对象,比如: alert(data[0]);&&& // '张三'
2、你在PHP如何返回数组给ajax呢?? jQuery.ajax只能接收字符串返回值!
dataType:&html&
print_r($res); $res是一个数组
这样做是错误的! jQuery.ajax不接受这样的返回值,除非$res值是字符串或者数字。
Jquery+asp.net 后台数据传到前台js进行解析的办法说明 - 项目实战 - IT工作生活这点事。Just Such So!
/projecteactual/jquery-aspnet-back-js-parse-object-list.html
难道没用过 console.log(data);最近在做会员注册这块。用了jquery的 ajax 验证用户名。邮箱,验证码
function check_email(){var check_email = $("#reg_mail").val();var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((/.[a-zA-Z0-9_-]{2,3}){1,2})$/;flag = reg.test(check_email);if(flag){var email_value = $('#reg_mail').val();$.get("[var.base_url]register.php",{check_name:"email",check_value:email_value,async:false},function(json){//$('#res_mail').html(json);if(json == "ok"){$('#res_mail').html("&font color='green' font-size='12'&&b&此email可以注册!&/b&&/font&");}else{$('#res_mail').html("&font color='red' font-size='12'&&b&此email已被注册!&/b&&/font&");}});}else{$("#res_mail").html("&font color='red' font-size='12'&&b&请输入正确的邮箱地址!&/b&&/font&");}}
开始是这么写的。 可是总是无法获取到返回的状态true 或false 返回一个undefined 查了很多资料。csdn上的一个帖子很经典:
var boolean =$.get(url,null,function(data){//理解这个不难,只要你先知道jquery中的方法返回的都是jquery的对象或jquery指定的对象。//jquery的get、post等ajax方法默认是异步交互方式,所以在get方法还没有执行完成的时候就已经return了,这时的bl就是你定义的bl = false;所以一直返回false;改成同步的应该有值了//所以要想放回bl的正确值,你得改下get方法。一般不在ajax方法中做返回值处理。//可以用$.data("bl", bl);保存你的值,然后用$.data("bl")取值。if(data.indexOf("true")&=0){$("#mid").html("登陆成功");bl =$.data("bl", bl);}else{$("#mid").html("用户名或密码错误");bl =$.data("bl", bl);}});
这样就可以获取到返回的状态了。用data方法 存储 值。然后获取。还有一个方法就是
$.get(url,{async: false},function(data) 设置传输方式为同步传输
最终修改函数如下。 测试ok。
function check_email(){var check_email = $("#reg_mail").val();var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((/.[a-zA-Z0-9_-]{2,3}){1,2})$/;flag = reg.test(check_email);if(flag){var email_value = $('#reg_mail').val();$.get("[var.base_url]register.php",{check_name:"email",check_value:email_value,async:false},function(json){//$('#res_mail').html(json);if(json == "ok"){$('#res_mail').html("&font color='green' font-size='12'&&b&此email可以注册!&/b&&/font&");tamp_email =$.data("tamp_email",tamp_email);//$('#sub_reg').attr("disabled", false);}else{$('#res_mail').html("&font color='red' font-size='12'&&b&此email已被注册!&/b&&/font&");tamp_email =$.data("tamp_email",tamp_email);//$('#sub_reg').attr("disabled", true);}});return tamp_}else{$("#res_mail").html("&font color='red' font-size='12'&&b&请输入正确的邮箱地址!&/b&&/font&");}}
阅读(...) 评论()使用console.log()打印出jquery选择器返回的对象,发现它永远是一个数组对象,若未找到指定元素,就会返回一个空的数组对象。
通常,我们用js判断dom是否存在,直接使用:
if( document.getElementById("wrap") )
就能判断,但是如果是jquery就不能这样用了:
if( jQuery('wrap') )
因为jquery选择器返回的永远是一个数组对象,若未找到指定元素,就会返回一个空的数组对象,不是boolean型:
if( jQuery('wrap').length & 0 )
阅读(...) 评论()2017年8月 总版技术专家分月排行榜第一
2016年2月 总版技术专家分月排行榜第二2014年2月 总版技术专家分月排行榜第二2013年4月 总版技术专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 jquery 获取url返回值 的文章

 

随机推荐