我的文件上传小部件有问题。我正在尝试为每个演示文稿创建一个自定义文件夹,并为每个商业广告在每个演示文稿中创建一个子文件夹。它有点像这样。用户选择/创建演示文稿 - >用户在所选择的演示文稿中选择/创建商业广告 - >用户上传文件 - >文件夹是创建例如。 Presentation_1 / Commercial_2 / uploadedimg.jpg。下次用户导航到相同的演示文稿和相同的商业广告时,将显示上载的文件。目前我正在使用PHP $ _Session来选择要根据所选演示文稿显示的正确数据 - >商业广告。问题在于,当加载页面时,还会加载blueimp index.php并设置变量,然后才能选择正确的presentation->商业广告。因此,它显示您上次所做的选择并显示错误的项目。如何在按下某个按钮后强制变量更新或者在按钮点击后延迟加载UploadHandler.php?可能有一些拼写错误,但代码工作正常,只有一次刷新太晚了!任何帮助或线索将不胜感激!
App.js
// after button click
var myData4={"selectedPres":selectedPres,"selectedComm":selectedComm};
$.ajax({
url : "./server/php/passSession.php",
type: "POST",
data : myData4,
success: function(data)
{
}
});
passSession.php
<?php
session_start();
require_once('connections.php');
if ($con) {
mysqli_set_charset($con,"utf8");
if (isset($_POST["selectedComm"]) && !empty($_POST["selectedComm"])) {
$selectedPres= $_POST['selectedPres'];
$selectedComm= $_POST['selectedComm'];
$_SESSION['selectedPres'] = $selectedPres;
$_SESSION['selectedComm'] = $selectedComm;
}
else {
echo "Error";
}
} else {
echo "No connection to database";
}
?>
的index.php
<?php
session_start();
error_reporting(E_ALL | E_STRICT);
if(isset($_SESSION["selectedComm"]) && (!empty($_SESSION["selectedComm"]))) {
$selectedPres= $_SESSION['selectedPres'];
$selectedComm= $_SESSION['selectedComm'];
require('UploadHandler.php');
$upload_handler = new UploadHandler($selectedPres, $selectedComm);
}
else
echo "Error in php session.";
?>
UploadHandler.php
function __construct($selectedPres, $selectedComm, $options = null, $initialize = true, $error_messages = null) {
$this->response = array();
$this->options = array(
'script_url' => $this->get_full_url().'/'.basename($this->get_server_var('SCRIPT_NAME')),
'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/files/'.$selectedPres.'/'.$selectedComm.'/',
'upload_url' => $this->get_full_url().'/files/'.$selectedPres.'/'.$selectedComm.'/', ...
答案 0 :(得分:-1)
问题解决了..必须在显示之前更新文件列表..:D $(&#34; .table tr&#34;)。remove(); $(&#39; #fileupload&#39;)。fileupload({url:&#34; server / php /&#34;}); $(&#39;#文件上传&#39)。addClass(&#39;文件上传处理&#39); $ .ajax({url:$(&#39; #fileupload&#39;)。fileupload(&#39; option&#39;,&#39; url&#39;),dataType:&#39; json&#39 ;,context:$(&#39; #fileupload&#39;)[0]})。always(function(){$(this).removeClass(&#39; fileupload-processing&#39;);})。完成(功能(结果){$(this).fileupload(&#39;选项&#39;,&#39;完成&#39;).call(this,$ .Event(&#39; done&#39;) ,{result:result});});