0
から私が持っているhtmlコードデータを取得することはできません。PHP +のAjaxのファイルアップローダー、だから、POST
<form id="loginIMGForm">
<input type="file" name="file" id="loginIMG" />
<br />
<input type="submit" name="submit" value="Submit" id="submitloginIMG" />
</form>
<div id="loginIMGStatus">Select an image and upload.</div>
と私はその後、PHPコード:
<?php
$imageinfo = getimagesize($_FILES['loginIMGForm']['tmp_name']);
if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg') {
echo "Sorry, we only accept GIF and JPEG images\n";
exit;
}
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename($_FILES['loginIMGForm']['name']);
if (move_uploaded_file($_FILES['loginIMGForm']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "File uploading failed.\n";
}
?>
とjQueryは以下のとおりです。
$('#loginIMGForm').submit(function() {
// 'this' refers to the current submitted form
var str = $(this).serialize();
alert(str);
$.ajax({
type: "POST",
url: "modules/upload.php",
data: str,
success: function(msg){
$("#loginIMGStatus").ajaxComplete(function(event, request, settings){
if(msg == 'OK'){ result = 'Login Image is updated'; }
else{ result = msg; }
$(this).html(result);
});
}
});
return false;
});
I did debuging using alert, the data is empty. What did I do wrong.
ありがとうございました。
アラートを呼び出すと、データは空です。だから私はその問題は.ajaxCompleteの部分からだとは思わない。 –
@shadow_boi、上の私の編集を参照してください –
ああ。私はファイルに対してシリアライズを使用できないことを知りませんでした。リンクと情報をありがとう。 Chrisに感謝します。 –