【发布时间】:2014-01-02 22:38:40
【问题描述】:
我有一个上传脚本,它在用户点击提交时运行,它看起来像这样:
<script type="text/javascript">
//<![CDATA[
$(function() {
// Initialiseer uploadifive
$('#file_upload').uploadifive({
'auto' : false,
'checkScript' : '/uploadifive/Sample/check-exists.php',
'onFallback' : function () {
window.location = '/home.php';
},
'method' : 'post',
'queueID' : 'queue',
'uploadScript' : '/upload/uploadifive.php',
'removeCompleted' : true,
'onUploadComplete' : function (file, data) {
console.log(data);
}
});
// Hang een click-event aan de knop
$('#subby').on('click', function () {
// Werk formData van uploadifive bij met de betreffende waarden
$('#file_upload').data('uploadifive').settings.formData = {
'timestamp' : '<?php echo $timestamp;?>',
'token' : '<?php echo md5('unique_salt' . $timestamp);?>',
'projectnr' : $('input[name=projectnr]').val(),
'gebruiker' : $('input[name=gebruiker]').val(),
'gebruikerid' : $('input[name=userId]').val(),
'mapId' : $( "#mapId option:selected" ).val(), // moet dit niet val() zijn???
'uploadbash' : '<?php echo $uploadbash; ?>',
'upload_reden' : $( "#upload_reden option:selected" ).val(),
'todo' : $("input[name=todo]:checked").val(),
'lid' : $('input[name="lid[]"]:checked').serialize()
};
// Voer de upload uit
$('#file_upload').uploadifive('upload');
});
});
//]]>
</script>
现在我想修改上面的内容并构建以下内容:
当脚本运行时,它必须在后台运行页面randomnumber.php,并将接收到的号码作为'uploadbash':''发送回来
这可能吗?我应该怎么做?
这行不通,我现在这样做:
<script type="text/javascript">
//<![CDATA[
$(function() {
// Initialiseer uploadifive
$('#file_upload').uploadifive({
'auto' : false,
'onFallback' : function () {
window.location = '/home.php';
},
'method' : 'post',
'queueID' : 'queue',
'uploadScript' : '/upload/uploadifive.php',
'removeCompleted' : true,
'onUploadComplete' : function (file, data) {
console.log(data);
}
});
// Hang een click-event aan de knop
$('#subby').on('click', function () {
// Werk formData van uploadifive bij met de betreffende waarden
$('#file_upload').data('uploadifive').settings.formData = {
'checkScript' :
$.ajax({
url: '/upload/number.php',
type: 'POST',
data: {search: "beeeeeeeh"}
}).done(function () {
alert("test");
$("#result").html(data);
}),
'timestamp' : '<?php echo $timestamp;?>',
'token' : '<?php echo md5('unique_salt' . $timestamp);?>',
'projectnr' : $('input[name=projectnr]').val(),
'gebruiker' : $('input[name=gebruiker]').val(),
'gebruikerid' : $('input[name=userId]').val(),
'mapId' : $( "#mapId option:selected" ).val(), // moet dit niet val() zijn???
'uploadbash' : '<?php echo $uploadbash; ?>',
'upload_reden' : $( "#upload_reden option:selected" ).val(),
'todo' : $("input[name=todo]:checked").val(),
'lid' : $('input[name="lid[]"]:checked').serialize(),
'number' : $("#result").html(data)
};
// Voer de upload uit
$('#file_upload').uploadifive('upload');
});
});
//]]>
</script>
所以我添加了:
'checkScript' :
$.ajax({
url: '/upload/number.php',
type: 'POST',
data: {generateNumber: "yes"}
}).done(function () {
alert("test");
$("#result").html(data);
}),
还有:
'number' : $("#result").html(data)
但是当我点击“上传”时,我在萤火虫中得到了这个:
ReferenceError: 数据未定义 $("#result").html(数据); }),
警报“测试”确实弹出。
【问题讨论】:
-
首先对 randomnumber.php 执行 $.get 以获取您的值,然后在其 success() 回调中执行上述所有操作
-
试过了,还是不行,看下面的帖子。
标签: javascript php random numbers