2

我正在尝试使用 jshelper 上传文件。

在我看来:

<?php echo $this->Form->create('Form', array(
    'inputDefaults' => array(
    'format' => array('before', 'error', 'label', 'between', 'input', 'after'),),
    'enctype' => 'multipart/form-data'
)); 
echo $this->Form->input('Form.file', array('type' => 'file', 'id'=>'file'));
$this->Js->get('#file')->event(
    'update',
    $this->Js->request(
        array('controller' => 'ControllerForm','action' => 'actionForm'),
        array(
        'async' => true, 
        'method' => 'post', 
        'dataExpression'=>true,
        'data'=> $this->Js->serializeForm(array(
            'isForm' => false,
            'inline' => true,
            ))
        )
));
echo $this->Js->writeBuffer();
echo $this->Form->end(); 
?>

在我的控制器中:

public function actionForm(){
    debugger::dump($this->data);
}

debugger::dump输出空数组。

4

1 回答 1

0

据我所知,您无法使用 ajax 发送文件(在 Chrome 中包括 xhrRequestObject2)。首先在服务器端检查发布数据即时调试($_FILES),但正如我所写的那样是空的。使用旧好的 iframe 将数据发送到服务器。

于 2013-10-08T14:21:18.810 回答