Php 使用jquery ajax上传文件,然后获取json格式的响应,但无法显示json数据
我试图用jQuery和php实现上传文件。我想实施的过程是: 选择文件 点击上传按钮 从php服务器获取响应 显示响应 然而,我只是不能让响应显示为它应该的样子,相反,它总是未定义的 我使用的twig.htm.twig如下所示: $document.readyfunction{ $btn.clickfunction{ var form_data=新FormData; var file_data=$upload_输入[0]。文件; 表单数据。附加“文件”,文件数据; $.ajax{ url:upload.php?act=upload, 数据:表格数据, 键入:“POST”, processData:false, contentType:false, 成功:函数数据{ alertdata.code; }, }; }; }; ... Php脚本是:Php 使用jquery ajax上传文件,然后获取json格式的响应,但无法显示json数据,php,jquery,ajax,Php,Jquery,Ajax,我试图用jQuery和php实现上传文件。我想实施的过程是: 选择文件 点击上传按钮 从php服务器获取响应 显示响应 然而,我只是不能让响应显示为它应该的样子,相反,它总是未定义的 我使用的twig.htm.twig如下所示: $document.readyfunction{ $btn.clickfunction{ var form_data=新FormData; var file_data=$upload_输入[0]。文件; 表单数据。附加“文件”,文件数据; $.ajax{ url:upl
步骤1:将数据类型用作JSON
$.ajax({
url: "upload.php?act=upload",
data : form_data,
type : 'POST',
dataType : "json",
processData : false,
contentType : false,
success : function (data) {
alert(data.code);
},
});
步骤2:使用JSON.parse方法
$.ajax({
url: "upload.php?act=upload",
data : form_data,
type : 'POST',
processData : false,
contentType : false,
success : function (data) {
var result = JSON.parse(data);
console.log(result);
},
});
什么样的响应不显示或不显示您的期望?您是否希望运行twig或echo json_encode和Die您是否检查了浏览器的网络检查器,以查看请求是否按预期发送,以及响应是什么?您还可以使用console.logdata而不是alertdata.code转储响应,以查看其在控制台中的外观。它可能是你得到了一个字符串,而不是一个对象。尝试添加数据类型:“json”,作为ajax请求的设置。@Riton Elion请检查下面的答案