1

我正在使用这个脚本来传递我的 POST 内容:

<script type="text/javascript">  
// <![CDATA[  
document.observe('dom:loaded', function() {  

    function sendForm(event){  
        // we stop the default submit behaviour  
        Event.stop(event);  
        var oOptions = {  
            method: "POST",  
            parameters: Form.serialize("standardform"),  
            asynchronous: true,  
            onFailure: function (oXHR) {  
                $('feedback').update(oXHR.statusText);  
            },  
            onLoading: function (oXHR) {  
            $('feedback').update('Enregistrement en cours ... <img src="images/throbber.gif" title="Loading..." alt="Enregistrement..." border="0" />');  
            },                            
            onSuccess: function(oXHR) {  
               $('feedback').update(oXHR.responseText);  
            }                 
        };  
        var oRequest = new Ajax.Updater({success: oOptions.onSuccess.bindAsEventListener(oOptions)}, "enregistre-site-marque.php", oOptions);             
    }  
    Event.observe('submitButton', 'click', sendForm, false);              
});   
// ]]>  

但是我的 FILE POST 没有通过,它们在我的enregistre-site-marque.php脚本中是空的。如何传递 POST 内容?

4

1 回答 1

0

Prototype.js:Form.serialize()

“此外,文件输入会被跳过,因为它们不能仅使用 JavaScript 进行序列化和发送。”

见: http: //prototypejs.org/doc/latest/dom/Form/serialize/

听起来您不能以这种方式对文件进行 AJAX 处理——尝试使用常规表单发布,或者(如有必要)使用 Javascript/AJAX 上传器。

没有 AJAX 的简单 HTML 表单提交可能是技术上最简单和最可靠(因此更可取)的解决方案——如果你能做到的话。

于 2013-05-05T10:39:45.850 回答