jquery文件上传 - 用ajax发布php变量

时间:2012-08-06 01:57:19

标签: php javascript jquery jquery-plugins

我已安装blueimp jquery文件上传并遇到了粘滞点。

我想获取一个在文件上传时发布的php变量,如果它存在则会发一些php。

我已经调整了upload.class.php来做一些数据库工作并获取我需要的数据。

然后我成功地将它解析回我的前端页面,但只通过激动人心的ajax表例如:

<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-download fade">
        {% if (file.error) { %}
          <td></td>
        <td class="name"><span>{%=file.name%}</span></td>
        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
        <td class="error" colspan="2"><span class="label label-important">    {%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
        {% } else { %}
         <td class="preview">{%=file.num%}{%=file.product%}{% if (file.thumbnail_url) { %}     <a href="{%=file.url%}" title="{%=file.name%}" rel="gallery" download="{%=file.name%}"><img src="{%=file.thumbnail_url%}"></a>
            {% } %}</td>
          <td class="name">
            <a href="{%=file.url%}" title="{%=file.name%}" rel="{%=file.thumbnail_url&&'gallery'%}" download="{%=file.name%}">{%=file.name%}</a>
        </td>
        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
        <td colspan="2"></td>
    {% } %}
    <td class="delete">
        <button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}">
            <i class="icon-trash icon-white"></i>
            <span>{%=locale.fileupload.destroy%}</span>
        </button>
        <input type="checkbox" name="delete" value="1">
        </td>
    </tr>
{% } %}
</script>

我这样做是为了确保:{%= file.num%} {%= file.product%} 印刷,并从PHP工作的措词。

所以我想让这些变量在“模板下载”脚本区域之外的页面上的其他位置触发php片段。

我可以尝试如何做到这一点,如果它们不在模板下载脚本标签之内,我甚至无法回显变量。

非常感谢任何帮助 我完全迷失在ajax / javascript中!

2 个答案:

答案 0 :(得分:0)

在我的斗争中,我越来越多地学习Ajax / Js并设法创建一个更新的div :)但是我仍然在努力将变量从js传递到php,反之亦然!

我有一个$ _REQUEST [“some_variable”];在我的页面顶部如何从js div调用它?

我的加载div是

$variable=$_REQUEST["some_variable"];
<script src="/js/myjsscript"></script>

<div class="container">
<script type="text/javascript">

refreshdiv();</script>
<div id="productdiv"></div>

我试过

   `refreshdiv(<? echo $variable ?>);` 
很长一段时间(我不知道我在js做什么,仍然在php大脑上工作,期待它能够正常工作。学习非常慢:))但这不起作用。

更新

尝试以下方法而不是从外部js文件中调用php

$variable=$_REQUEST["some_variable"];
<script src="/js/myjsscript"></script>

<div class="container">
<script type="text/javascript">
var seconds = 10;
var divid = "productdiv";
var url = "/ajaxcall_script.php?some_varaible=<? echo $variable ?>";

refreshdiv();</script>
<div id="productdiv"></div>

它在源代码中输出ok,所以我知道变量没问题。但$ _REQUEST [“some_varaible”]不会在php中获取变量吗?

答案 1 :(得分:0)

FIXED: 在js中调用页面时传递变量,如:

var nocacheurl = url+"?t="+timestamp+"&some_variable="+variable;

不确定这是不是最好的方法,但我的php现在选择了$ _REQUEST变量并且它按预期工作。