AJAX怎么处理PHP返回的数组信息?

PHP 返回的$filename_arr是一个数组,
echo "返回的数据:";
echo json_encode($filename_arr);
$filename_arr 通过json_encode 转换后 数据为 echo "返回的数据:["jeff-A-01.png","jeff-d-01.png"]

我在AJAX端应该怎么写判判断是否返回数组,并更新DIV 内容。
AJAX 代码如下
function del(del_file,textNo) {
$.ajax({
type: 'POST',
contentType:'application/json;charset=utf-8',
dataType:'json',
data:JSON.stringify({'del_file':del_file,'textNo':textNo}),
url:'del.php',
success:function(msg) {
$('#text').empty();
var data='';
if(msg!=''){
data = eval("("+msg+")");
}
alert(data);      
},
error:function (msg) {
alert("返回失败");
}
})

你如果想让后台以json格式返回数据,那么php就一定要用标准的json格式来输出数据,不要混杂其他无关数据。比如你的“返回的数据:”这几个字就属于多余数据,ajax在接收到返回数据后就会转换失败。所以你的 echo "返回的数据:"; 应该删掉(如果还有其他类似的输出语句也要删掉),确保输出的数据只有 ["jeff-A-01.png","jeff-d-01.png"] 这样的内容。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-05
返回的数据形式固定的就不用判断是不是数组,而且ajax好像不是处理数据的吧,传到php处理数据追问

可能问题有点不规范,AJAX需要获得返回的数据吧,但是我用success function()一直获取不到返回的数据

追答

msg啊,这不就是获取的数据吗

追问

我用的以下代码,控制台一直报请求失败,不知道错在哪里
success:function(msg) {
console.log( msg );},
error:function () {
console.log('请求失败');
}
})

追答

看看传的数据有没有问题,请求失败就是url的那个文件没有接收到数据或者,php文件没写好,有错误的地方

相似回答