![](/img/trans.png)
[英]Javascript of selected php file won't load when using JQuery's load(file.php) method
[英]JQuery's .load function won't pass variable to my PHP file
我知道使用 JQuery 的 ajax 函數可以做到這一點,但我特別想嘗試使用 JQuery 的.load()
函數來做到這一點。
這是我的代碼:
HTML:
<form class="form" action="" method="POST" enctype="multipart/form-data">
<input type="file" name="csv-file">
<p class="upload-button">Upload</p>
<p class="upload-output"></p>
</form>
Javascript:
$('.upload-button').click(function() {
var formData = $('.form').serializeArray();
$('.upload-output').load('upload.php', formData);
});
當我點擊upload-button
,表單被序列化並發送到我的名為upload.php
PHP 文件中。 這是upload.php
的內容——我目前只是檢查它是否完全收到文件:
if(isset($_FILES['csv-file'])){
echo 'found file';
} else echo 'no file';
所有這些看起來都很好,但由於某種原因,它每次都no file
返回no file
,我不確定為什么。
我嘗試了不同的輸入類型,如text
字段、 textarea
,它們都可以工作,但是每當我嘗試使用類型file
傳遞輸入時,它都不起作用。 這是為什么? 以及如何使用.load()
將文件傳遞到我的 PHP 文件? 甚至有可能嗎?
實際上,您不能以這種方式使用 Ajax 上傳文件,因為 .serialize() 只為您提供文件名。
使用表單數據:
$('.upload-button').click(function() {
var formData = new FormData($('form')[0]);
$('.upload-output').load('upload.php', formData); });
另請參閱: 使用 jQuery.ajax 發送多部分/表單數據
以及: 如何異步上傳文件?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.