最初にすべてが私の英語です。私は私のjsのコードは次で、Ajaxでフォームを送信しようとしている:TypeError:processDataとcontentTypeがfalseのFormDataを実装していないオブジェクトで 'append'が呼び出されました。両方とも
$("#formPublicidad").on('submit', function(event) {
event.preventDefault();
var dataForm = new FormData(document.getElementById('formPublicidad'));
if(dataForm.get('url') == '' || dataForm.get('texto') == '' || dataForm.get('imagen') == '') {
$("#formMsg").text('Debe rellenar todos los campos');
$("#formMsg").css('display', 'block');
}else {
$("#formMsg").text('Cargando...');
$(".btn-form-pub").attr('disabled', true);
$.ajax({
url: 'publicidad.ajax.php',
method: 'POST',
data: dataForm,
pocessData: false,
contentType: false,
cache: false,
dataType: 'json',
success: function(response) {
var msg = JSON.stringify(response.msg).replace(/\"/g, "");
$(".btn-form-pub").attr('disabled', false);
if(msg != 'success') {
document.getElementById('formMsg').textContent = msg;
document.getElementById('formMsg').style = 'display: block;';
}else {
$("#formModal").modal('hide');
}
}
});
}
});
、ここでは私のHTMLコードです:
<form method="post" id="formPublicidad">
<div class="modal-body">
<span id="formMsg"></span>
<input type="hidden" name="posicion" id="pubPos">
<label for="publiUrl">URL</label>
<input type="text" name="url" id="publiUrl" placeholder="Ej.: www.google.com.uy" class="form-control">
<label for="publiText">Texto</label>
<input type="text" name="texto" id="publiText" placeholder="Ej.: Google" class="form-control">
<label for="publiImg">Imagen</label>
<input type="file" name="imagen" id="publiImagen">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-form-pub" data-dismiss="modal">Cancelar</button>
<button type="submit" class="btn btn-primary btn-form-pub" id="btn-add-pub">Guardar cambios</button>
</div>
</form>
私はコンソールにAJAXを経由して提出しようとすると、次のエラーがあります:
TypeError: 'append' called on an object that does not implement interface FormData.
私はこれをもう一度熟考しましたが、今は動作しません。 誰かが助けることができますか?大いに感謝する!!
['append'は、FormDataインターフェイスを実装していないオブジェクトで呼び出される可能性があります](http://stackoverflow.com/questions/25390598/append-called-on-an-object-that-does-not- implement-interface-formdata) –
問題を解決できないことがあります。しかし、代わりに[必須](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-required)属性を使用することをお勧めしますか? – Endless
必要な属性に感謝します! Evan yはこれらの可能な重複を見ましたが、私はcontentTypeとprocessDataをfalseに設定しました... – TheBee