반응형
ajax formdata : 잘못된 호출
Symfony 2 업로드용 Ajax 스크립트를 만들려고 합니다.Chrome은 다음 오류를 반환합니다.
수집되지 않은 유형 오류:부정한 호출 jquery.min.js:4
제 생각엔...FormData
오브젝트가 올바르게 설정되어 있지 않다(스크립트를 사용해 보겠습니다)..serialized()
:
$(document).ready(function() {
$('#formImage').submit(function(event) {
event.preventDefault();
// appel Ajax
alert("ajax");
var input = document.getElementById("rasta_blogbundle_imagetype_file");
console.log(input);
var formdata = false;
if (window.FormData) {
formdata = new FormData();
console.log('formdata initialized ...');
}
else{
console.log('formdata not supported');
}
formdata.append('name',$('#rasta_blogbundle_imagetype_name').val());
console.log(formdata);
formdata.append('file',input);
formdata.append('_token',$('#rasta_blogbundle_imagetype__token').val());
console.log(formdata);
//alert(DATA);
if (formdata){
$.ajax({
url: $(this).attr('action'), // le nom du fichier indiqué dans le formulaire
type: $(this).attr('method'), // la méthode indiquée dans le formulaire (get ou post)
cache: false,
//data : $(this).serialize(),
data: formdata ,
success: function(data) { // je récupère la réponse du fichier PHP
$('#myModal').html(data);
console.log('ok');
}
//return false; //
});
}
});
});
jQuery는 FormData 객체를 문자열로 변환하려고 합니다.이것을 $.ajax 호출에 추가합니다.
processData: false,
contentType: false
이 문제는 jquery가 내부적으로 데이터를 올바르게 직렬화하지 않아 데이터를 수정하지 못할 때 발생합니다.
cache : false,
dataType : 'json',
processData : false,
아래 사항을 추가하는 것만으로 문제를 해결했습니다.
contentType: false,
processData: false,
cache: false,
언급URL : https://stackoverflow.com/questions/16501524/ajax-formdata-illegal-invocation
반응형
'programing' 카테고리의 다른 글
value Change Listener 또는 f:ajax 리스너를 사용하는 경우 (0) | 2023.02.11 |
---|---|
Local Storage를 React와 함께 사용하시겠습니까? (0) | 2023.02.11 |
AngularJs에서 CORS를 활성화하는 방법 (0) | 2023.02.11 |
테마 활성화 시 '주요 메뉴' 위치 메뉴 자동 설정 (0) | 2023.02.11 |
Angular에 타사 Javascript 라이브러리 포함JS 앱 (0) | 2023.02.11 |