【发布时间】:2013-12-03 08:55:02
【问题描述】:
我在将某些内容传递到我的数据库时没有遇到问题,因此上面的“可能已经回答”警报和相关链接没有回答我的问题(无论如何感谢您提供帮助)。我的问题是 jquery 变量。
为什么当我将$('input[name="ageLimit"]:checked', '#myForm').val() 传递给警报时,变量会提取正确的信息,但是当我将它传递给 plupload 函数中的 url 时却没有,我最终在我的数据库中得到undefined。为什么会发生这种情况?权限? jQuery冲突?
<script type="text/javascript">
// Convert divs to queue widgets when the DOM is ready
$(document).ready(function(){
$('#myForm input').on('click', function() {
alert($('input[name="ageLimit"]:checked', '#myForm').val());
});
});
$(function() {
$("#uploader").plupload({
// General settings
runtimes : 'flash,html5,browserplus,silverlight,gears,html4',
url : 'upload.php?aud=' + $('input[name="ageLimit"]:checked', '#myForm').val(),
max_file_size : '1000mb',
max_file_count: 20, // user can add no more then 20 files at a time
chunk_size : '1mb',
rename: true,
multiple_queues : true,
//multipart_params : {
// aud : $('input[name="ageLimit"]').val()
//},
// Resize images on clientside if we can
//resize : {width : 320, height : 240, quality : 90},
// Rename files by clicking on their titles
rename: true,
// Sort files
sortable: true,
// Specify what files to browse for
filters : [
{title : "Image files", extensions : "jpg,gif,png"},
{title : "Zip files", extensions : "zip,avi"}
],
// Flash settings
flash_swf_url : 'plupload/js/plupload.flash.swf',
// Silverlight settings
silverlight_xap_url : 'plupload/js/plupload.silverlight.xap'
});
// Client side form validation
$('form').submit(function(e) {
var uploader = $('#uploader').plupload('getUploader');
// Files in queue upload them first
if (uploader.files.length > 0) {
// When all files are uploaded submit form
uploader.bind('StateChanged', function() {
if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) {
$('form')[0].submit();
}
});
//uploader.bind('BeforeUpload', function(up) {
// up.settings.multipart_params.aud = $('input[name="ageLimit"]').val();
// });
uploader.start();
} else
alert('You must at least upload one file.');
return false;
});
});
</script>
这里是php代码
//check for audience
$aud = (!empty($_GET['aud'])) ? trim($_GET['aud']): "";
【问题讨论】:
-
我怀疑你不能同时传递 URL 参数 GET 数据和多部分 POST 数据——否则你在服务器端检索错误。也许你正试图在你的 PHP 中检索一个 POST 变量,或者也许 plupload 正在剥离你的 URL 变量。
-
如何处理 GET 参数?请出示您的 PHP 代码。
-
多部分数据已被注释掉以便调试。
-
//检查观众 $aud = (!empty($_GET['aud'])) ?修剪($_GET['aud']): "";
-
(isset($_GET['aud']) && !empty($_GET['aud']))