我正在尝试使用Uploadify处理Ajax文件请求。然而,我遇到了一个非常奇怪的情况。这是我的代码:
$.ajax({
type: "POST",
data: "choice="+choice,
url: "getformdata.php",
cache: false,
async: false,
success: function(msg) {
$(".file-upload").each(function() {
var $p = $(this).parent();
$(this).uploadify({
'swf': 'uploadify.swf',
'uploader': 'uploadify.php',
'fileTypeDesc': '.doc, .docx, or .pdf',
'fileTypeExts' : '*.doc; *.docx; *.pdf',
'onUploadError' : function(file, errorCode, errorMsg, errorString) {
alert('The file ' + file.name + ' could not be uploaded: ' + errorString);
},
'onUploadSuccess' : function(file, data, response) {
$($p).find("input[type='hidden']").val(data);
$($p).find(".file-name span").text(data);
}
});
});
}
});
目前,如果我尝试发出另一个Ajax请求,PHP不知何故不知道我的任何会话变量。当我取出.uploadify()方法时,它突然又知道了我的会话变量。
究竟是什么原因造成的?有办法绕过它吗?
使用您发布的代码,您正在执行两个请求,一个在文件getformdata.php上,另一个在file uploadify.php上,第二个是用uploadify打包的请求。。。它不使用session_start()。。。所以我认为你的PHPSESSID已经改变了。。。问候
mimiz
这是uploadify引擎中的一个错误。如果你在他们的网站上看,也会发生同样的事情。当你多次使用controll时,不知何故,你试图加载两倍的swf,并错误地调用你的URL所在的文件夹,如果你知道我的意思的话。