formdata 객체의 키를 검사 할 수 있습니까? 키가 이미 값을 할당 받았는지 알고 싶습니다.formdata 객체 키가 있는지 확인하십시오.
부정적인 결과
data=new FormData();
if(!data.key)
data.append(key,somevalue);
추가 질문은 원래 값을 다시 작성하는 이중 과제의 본성이 같은 시도?
formdata 객체의 키를 검사 할 수 있습니까? 키가 이미 값을 할당 받았는지 알고 싶습니다.formdata 객체 키가 있는지 확인하십시오.
부정적인 결과
data=new FormData();
if(!data.key)
data.append(key,somevalue);
추가 질문은 원래 값을 다시 작성하는 이중 과제의 본성이 같은 시도?
상황이 바뀌고 요즘 get 기능을 사용하여 키가 종료되는지 확인할 수 있습니다.
우리가 이미 주석에서 설명하고있는 바와 같이 원래 대답
는, 브라우저는 보안상의 이유로 FormData
객체에 저장된 데이터를 숨 깁니다. 여기에 설명 된 개발자 콘솔에서 데이터를 미리 볼 수있는 한 가지 해결 방법이 있습니다. FormData.append("key", "value") is not working
코드에서 이러한 데이터에 액세스 할 수있는 유일한 방법은 데이터 추가, 값 가져 오기 및 변환을 지원하는 자체 래핑 개체를 사용하는 것입니다. ~ FormData
.
function FormDataUnsafe() {
this.dict = {};
};
FormDataUnsafe.prototype.append = function(key, value) {
this.dict[key] = value;
};
FormDataUnsafe.prototype.contains = function(key) {
return this.dict.hasOwnProperty(key);
};
FormDataUnsafe.prototype.getValue = function(key) {
return this.dict[key];
};
FormDataUnsafe.prototype.valueOf = function() {
var fd = new FormData();
for(var key in this.dict) {
if (this.dict.hasOwnProperty(key))
fd.append(key, this.dict[key]);
}
return fd;
};
FormDataUnsafe.prototype.safe = function() {
return this.valueOf();
};
사용법 :
var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.send(data.safe()); // convertion here
에 대한 답변으로 받아 들일 것입니다. 권장되는 솔루션은 당신이 어떤 형식이나 다른 형식으로 넣은 것을 녹음하는 것입니다 (대답은 그것을 래핑 객체의 형태로합니다). 그 참조를 사용하여 이미 키가 존재할 경우 이미 입력 한 것을 말하십시오. –
적어도 formdata 객체에 파일이 있는지 확인할 수 있습니까? – MarceloBarbosa
"보안상의 이유로 FormData 객체에 저장된 데이터를 브라우저가 숨길 수 있습니다."에 대한 세부 정보를 제공 할 수 있습니까? 링크가 선호 되더라도. – PageYe
이 질문을 참조하십시오 : http://stackoverflow.com/questions/7752188/formdata-appendkey-value- 그것은이 같은 객체가 될 수 작동하지 않는다 – Tony
@tony 브라우저 플랫폼이 보안으로 무엇을하려고하는지 알 수 있습니다. 링크를 기반으로 적절한 해결 방법이 무엇인지 생각하고 있습니다. 왜 kv 쌍을 기록하는 래퍼 객체에 넣는 지 보여주지 마시고 동일한 상황에있는 사람들을 위해 좀 더 많은 통찰력을 얻기 위해 참조 –