Javascript ajax请求时对JS变量的JSON响应

Javascript ajax请求时对JS变量的JSON响应,javascript,jquery,json,ajax,response,Javascript,Jquery,Json,Ajax,Response,我正在尝试上载具有动态名称的文件,并将这些动态名称取回 具体来说,我有两个页面form.php和upload.php。当按下form.php上的上载按钮时,请求被发送到upload.php,其中2个文件(DLpath和PhotoIDPath)以动态名称上载到服务器,例如: DLpath=documents/2016113022311i8hgn0hzjt276415832.png 及 PhotoIDPath=documents/2016113022311ssrqcyibkkalock.png 它工

我正在尝试上载具有动态名称的文件,并将这些动态名称取回

具体来说,我有两个页面
form.php
upload.php
。当按下
form.php
上的上载按钮时,请求被发送到
upload.php
,其中2个文件(DLpath和PhotoIDPath)以动态名称上载到服务器,例如:

DLpath=documents/2016113022311i8hgn0hzjt276415832.png

PhotoIDPath=documents/2016113022311ssrqcyibkkalock.png

它工作得很好。然后在
upload.php
上,我将这些文件名编码为JSON数组,即

$response  = array ('DLpath'=>$Dlpath ,'PhotoIDPath'=>$PhotoIDPath);
echo json_encode($response);
firebug快照是:

我想在
var jsDlpath
中获取DLpath,在
var jsPhotoIDPath

我的代码(不起作用)是:

complete: function(response) 
    {
    var jsDlpath=response.DLpath;
    var jsPhotoIDPath=response.PhotoIDPath;
alert(jsDlpath+" - "+jsPhotoIDPath)
}
和警报显示:

未定义-未定义


如果您能帮助我在js变量中对这些值进行gwt,我将非常感谢您。

因为您在服务器端对响应进行编码,您应该在js端对其进行解析,您可以使用

success: function(response) 
{
    var response = $.parseJson(response);
     //if $.parseJson dont work, use JSON.parse

    var jsDlpath=response.DLpath;
    var jsPhotoIDPath=response.PhotoIDPath;

    alert(jsDlpath+" - "+jsPhotoIDPath)
}
注意:使用
success/done
回调而不是complete


希望这有帮助。

如果在纯javascript中运行,您会发现有两个响应属性:responseText和responseXML。您可能想要:

var data = JSON.parse(response.responseText);
一个完整的示例,使用curl from(但jquery也可以)获取Github上的开放问题:

curl('https://api.github.com/repos/gchq/CyberChef/issues?state=open')
.then((res) => JSON.parse(res.responseText))
.then((data) => console.log(data))

您是否分析了
响应
。。尝试登录
响应
,如果是字符串。。使用
JSON.parse
将其解析为
JSON对象
您在
响应中收到了什么?你能在这里发帖吗?我想你应该成功。没有完整的
console.log(response)
显示什么?当我尝试时:var obj=JSON.parse(response);它给出错误“SyntaxError:JSON.parse:JSON数据第1行第2列的意外字符”和$(“#returned”).html(response.responseText);正在给出{“DLpath”:“documents\/20161201000303tHD2cxzz0u276415832.png”,“PhotoIDPath”:“documents\/20161201000303zged1odeolock.png”}