2016-11-30 5 views
1

동적 이름을 사용하여 파일을 업로드하고 동적 이름을 다시 가져 오려고합니다.JS 변수에서 JS 변수로 JSON 응답

자세한 내용은 2 페이지 form.phpupload.php입니다. 업로드 버튼을 누른 다음이 개 파일 (DLpath 및 PhotoIDPath)는 동적으로 이름으로 서버에 업로드 upload.php로 보내 요청할 form.php에 누르면 예 :

DLpath = 문서/20161130232311i8hGn0HzJT276415832.png

그리고

PhotoIDPath = documents/20161130232311SSRqCyIbKKalock.png.

괜찮습니다. 그런 다음 upload.php에, 내가 JSON 배열과 그 파일 이름을 인코딩하고하는 것은

$response = array ('DLpath'=>$Dlpath ,'PhotoIDPath'=>$PhotoIDPath); 
echo json_encode($response); 

그리고 불을 지르고 스냅 샷입니다 :

enter image description here

내가 var jsPhotoIDPath

var jsDlpath 및 PhotoIDPath에 DLpath을 얻으려면

내 코드 (작동하지 않음)는 다음과 같습니다.

그리고 경고 표시 16,: 당신은 JS 변수에 그 값을 GWT하는 데 도움이 할 수있는 경우

undefined - undefine

, 나는 당신에게 매우 감사 할 것입니다.

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 콜백

+0

당신이'response'을 분석 한? ..'response'를 로깅 해보고 문자열이라면'JSON.parse'를 사용하여'json object'를 파싱하십시오. – noobHere

+1

'response'에서 무엇을 받고 있습니까? 여기에 게시 할 수 있습니까? – 31piy

+1

당신이 성공하지 못했다고 생각합니다. – rad11

답변

1

당신이 JS 측에서 그것을 구문 분석해야 당신에게 서버 측에서 response을 인코딩하고 있기 때문에, 당신은 $.parsejson()를 사용할 수 있습니다.

희망이 도움이됩니다.

0

순수 자바 스크립트에서 실행중인 경우 responseText와 responseXML의 두 가지 응답 속성이 있음을 알 수 있습니다. 당신은 아마 원하는 :

완전한 예를 들어, Github에서의 개방 문제를 얻기 위해 (물론 잘 할 것이다 그러나 JQuery와) https://gist.github.com/bitdivine/7ddd943387a4350336dd에서 컬을 사용하여 :

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