:
function submitForm(){
var fd = new FormData(document.querySelector("#submissionForm"));
$.ajax({
url: "php/process.php",
type: "POST",
data: fd,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success : function(text){
if (text == "success"){
formSuccess();
}
else{
formFailure();
}
}
}
);
}
Ve php kodu: Burada
<form role="form" id="submissionForm" enctype="multipart/form-data" name="submissionForm" method="post" >
<div class="form-group has-feedback" id="fnamediv">
<label class="control-label" for="fname">First Name:</label>
<input type="text" class="form-control" id="fname" required>
<span id="fnameglyph" class="glyphicon glyphicon-ok form-control-feedback hidden"></span>
</div>
<div class="form-group has-feedback" id="mnamediv">
<label class="control-label" for="mname">Middle Name:</label>
<input type="text" class="form-control" id="mname" placeholder="Optional" >
<span id="mnameglyph" class="glyphicon glyphicon-ok form-control-feedback hidden"></span>
</div>
<div class="form-group has-feedback" id="lnamediv">
<label class="control-label" for="lname">Last Name:</label>
<input type="text" class="form-control" id="lname" required>
<span id="lnameglyph" class="glyphicon glyphicon-ok form-control-feedback hidden"></span>
</div>
<div class="form-group has-feedback" id="emaildiv">
<label class="control-label" for="email">Email Address:</label>
<input type="email" class="form-control" id="email" required>
<span id="emailglyph" class="glyphicon glyphicon-ok form-control-feedback hidden"></span>
</div>
<hr><hr>
<br>
<div class="form-group has-feedback" id="submissionTitleDiv">
<label class="control-label" for="submissionTitle">Submission Title:</label>
<input type="text" class="form-control" id="submissionTitle" required>
<span id="subtitleglyph" class="glyphicon glyphicon-ok form-control-feedback hidden"></span>
</div>
<div class="form-group" id="subTypeDiv">
<label class="control-label" for="sel1">Submission Type:</label>
<select class="form-control" id="sel1" required>
<option style="display:none;" value="default" selected disabled>Select One</option>
<option value="Short Story">Short Story</option>
<option value="Poem">Poem</option>
<option value="Comic">Comic</option>
<option value="Art">Art</option>
</select>
</div>
<br>
<label for="file-upload" class="custom-file-upload" id="fileUploadBtn">
Upload File
</label>
<input id="file-upload" type="file" name="file-upload" accept=".pdf,.tiff,.tif,.jpg,.jpeg" required/>
<br><br><br>
<button type="submit" class="btn btn-danger" id="submitBtn" disabled>Submit</button>
<br>
</form>
benim jquery: İşte
benim şeklidir . Adsız öğeler gönderilmeyecek.
Birinci adım: 'fd' gerçekte tarayıcılar geliştirme konsolunu kullanarak, istemci tarafında ne içerdiğini kontrol edin. İkinci adım: sunucu tarafında hangi '$ _POST’ içerdiğini kontrol edin, bir günlük dosyasına dökün. Söyleyebileceğim kadarıyla – arkascha
, form-data istemci tarafında gönderiliyor değildir. İstek yükündeki herhangi bir değişkene (yüklenen dosya dışında) referans veren hiçbir şey göremiyorum. Eğer derin kazmak nerede olduğunu eğer öyleyse –
tamam: 'FormData()' yapmaz görünüşe göre beklediğiniz. Aslında ne olduğu hakkında hiçbir fikrim yok ama yapacaksın. Üçüncü olarak, seçicinin ne döndüğünü kontrol edin ve dördüncü işlevi kontrol edin. – arkascha