$.ajax({
success: function(getdata){
}
});
ajax响应的是 {"success":"1","error_code":"u53d1u5e03u6210u529f"}
我在获取时直接 getdata.success 就可以直接取到了
而用 var obj=$.parsejson(getdata) 处理后在obj.success 就是直接obj 为null
php代码部分为
$json = array('success'=>$success,'error_code'=>$error_code);
echo json_encode($json);
请问为什么不用处理getdata,关于ajax 使用json格式在success处理那一块有点不懂,普通的alert在ajax用不了,使用console.log()也用不了,各位如果ajax中间出了问题一般是怎么调试的
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
Ajax里面有个datatype这个参数,这个参数的意思是指定返回的数据类型,如果你这里写的是json格式的话,成功之后的回调方法里就不用再把数据转换为json了,因为你php已经输出了json格式.像
$.get或者$.post的Ajax方式在回调方法里则需要把数据转换为你需要的数据类型,因为这里没有指定返回数据类型,就是这样。首先,是$.parseJSON,不是parsejson,然后,在success里面可以直接用console.log打印出来getdata
如果是简单的获取数据的话推荐使用jquery的
$.getJSON()方法,例如:然后,返回的data数json对象,可以使用console.log(data)看数据结构的
先直接在success中打印getdata看返回的数据是字符串还是对象
如果是对象,不用做parseJSON处理,因为jquery帮你处理好了
如果是字符串,需要 $.parseJSON(getdata),但不是小写的 $.parsejson(getdata)
至于你说的alert不管用,应该是其他地方出的问题影响的