我正在使用此脚本传递我的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内容?
答案 0 :(得分:0)
Prototype.js:Form.serialize()
“此外,文件输入被跳过,因为它们无法序列化并仅使用JavaScript发送。”
请参阅:http://prototypejs.org/doc/latest/dom/Form/serialize/
听起来你不能用这种方式AJAX文件 - 尝试使用常规表单,或者(如果需要)使用Javascript / AJAX上传器。
简单的HTML表单提交,没有AJAX,可能是技术上最简单的&amp;最可靠(因此更可取)的解决方案 - 如果你能做到这一点。