解決策: 送信ボタンを削除して、通常のボタンを使用する必要がありました。このコードの残りの部分は機能します。HTMLフォームも削除しました。
formdataを使用してajaxで画像とテキストをphpスクリプトに送信しようとしています。これは私が得たものです:
$ajax_uploadImage = function (form)
{
var data = new FormData();
data.append('title', form.find('#title').val());
data.append('comment', form.find('#comment').val());
data.append('image', form.find('#image').prop('files')[0]);
$.ajax({
url: '../php/upload_image.php',
data: data,
type: 'POST',
processData: false,
contentType: false,
success: function (data) {
alert('something');
}
});
}
関数パラメーターのフォームは通常の html フォームです。html のフォームは次のとおりです。
<form enctype="multipart/form-data" id="upload_image">
<label for="title">Title:</label>
<input type="text" id="title" name="title" />
<br />
<label for="comment">Comment:</label>
<input type="text" id="comment" name="comment" />
<br />
<label for="image">Image:</label>
<input type="file" id="image" name="image" />
<br />
<input type="submit" value="Upload picture" name="submit">
<hr />
</form>
成功したアラートはトリガーされません。誰か助けてもらえますか?
編集: PHP を追加しますが、何もしません:
<?php echo 'something'; ?>