访问CakePhp控制器中的XMLHttpRequest数据

时间:2015-02-11 16:32:23

标签: javascript cakephp xmlhttprequest

我有这段代码:

var form = document.querySelector('form');
              var request = new XMLHttpRequest();
                var formData = new FormData(form);
                request.open('POST','/leandwell/processData', true);
                request.send(formData);
            request.onreadystatechange = function() {
        if (request.readyState === 4) {
            if (request.status === 200) {
                       // OK

                       alert(request.responseText);
            } else {
                       // not OK
                       alert('failure!');
            }
        }
};

在我的控制器中使用此功能:

public function processData(){
        $this->autoRender = false;
                $data = $this->request->data;

            return json_encode($data['address']);
    }

但它只是警告未定义的索引地址,同时我的表单中有<input type="text" name="address">。他们的另一种方式是我可以在我的控制器方法中正确访问这些数据。 我实际上使用XMLHttpRequest因为表单有输入类型文件,因为我需要上传文件。 任何建议将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:0)

我很确定你的formData与Cake所期望的不一致。确保您发送的表单数据等于HTML属性name="data[address]"而不是name="address"

而不是return json_encode($data['address']); read XML and Json Views in CakePHP