2017-05-21 8 views
1

JS에서 다중/혼합 콘텐츠 유형으로 요청을 보내려고합니다. 이것은 내가 사용하고 cURL을 명령하고 그것을 작동 : 여기 이 cURL 명령을 JavaScript의 XMLHttpRequest로 변환하는 방법은 무엇입니까?

curl -k -i -X POST -H "Content-Type: multipart/mixed" -H "Timestamp: 2017- 
04-20'T'13:15:05" -H "AuthToken: A834F35B21E7BE50067B3E352BED" -F 
"[email protected];type=application/json" -F "[email protected]" 
https://pmdev.****.com:8443/core/admin/hospital/26/department/63 

내가 JS에 사용할 노력하고있어 코드이지만,이 작동하지 않습니다

let blob = new Blob([ JSON.stringify(config) ], {type: 
'application/json'}) 

var formData = new FormData() 
formData.append('config', blob) 
formData.append('logo', logo) 

var request = new XMLHttpRequest() 
request.open(method, url) 
request.setRequestHeader('Content-type', 'multipart/mixed') 
request.setRequestHeader('AuthToken', authToken) 
request.setRequestHeader('Timestamp', getTimestamp()) 
request.send(formData) 

어떻게 나는이 코드를 고쳐 쓴다?

+1

f12를 누르고 네트워크 호출을 확인하십시오. 그게 무엇을 보여주는가? –

+0

[axios 패키지] (https://github.com/mzabriskie/axios#config-defaults)를 사용하는 것이 좋습니다. –

+0

이것은 교차 출처 요청입니까? 브라우저 개발 도구를 사용하여 문제 해결 정보 제공 – charlietfl

답변

0

에 부착 된 // 정보를 얻을 수있는 방법은 마지막으로 나는 이것이이다 사용 Axios의에 의해이 문제를 해결하기 위해 관리 내가 사용한 코드

let formData = new FormData() 
    let blob = new Blob([ JSON.stringify(config) ], {type: 'application/json'}) 
    formData.append('config', blob) 
    formData.append('logo', logo) 

    axios.post(url, formData, { 
    headers: { 
     'AuthToken' : authToken, 
     'Timestamp' : getTimestamp(), 
     'Content-type': 'multipart/mixed' 
    } 
    }) 
0
let blob = new Blob([JSON.stringify(config)], {type: 'application/json'}); 
let formData = new FormData(); 
formData.append('config',blob); 
formData.append('logo',logo); 
let request = new XMLHttpRequest(); 
request.open('POST',url); 
request.setRequestHeader('content-type', 'application/json'); 
request.send(formData); 

// 폼 데이터의 내용을 잘못 참조했다고 생각합니다. // 참조를 삭제했습니다. 'POST'를 메서드로 사용해야합니다. // formData가 자동으로 설정되기 때문입니다. (꽤 확실합니다. 또한 모든 유형을 json으로 변경했습니다.

//이 페이지는 모든 formData 방법이있다 : 당신이 당신의 POST https://developer.mozilla.org/en-US/docs/Web/API/FormData

+0

모든 참조가 잘되어 있지 않습니다. 내 방법도 'POST'입니다. – user3600385