Node.js向Kohana发出POST请求

时间:2013-01-20 23:15:56

标签: node.js kohana

当我正在node.js填充一些数据到Kohana进行POST查询时,我总是在$this->request->post()空数组中获取,但当我通过浏览器本地{时{1}} ajax调用 - 它获取了正确的数据 - 我发送过。

Node.js代码(我正在使用request库) - 不工作:

JavaScript

Node.js正在获取响应request.post( 'http://someurl', { id : 'ididididid' }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log('returned BODY:', body); } } ); ,但它是空数组

jQuery代码 - 运行良好:

(statusCode == 200)

Kohana代码(内部控制器):

$.ajax({
    type: 'POST',
    url : 'http://someurl',
    dataType : 'JSON',
    data : {
        id : 'idididid'
    },
    done : function(data) {
        console.log(data.responseText);    
    }
});

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

在Kohana中,不要将$this->request->post用于全局$_POST var,而是用于内部(子)请求。

在您的情况下,您只需:

$this->response->body(json_encode($_POST));

确保您始终将响应分配给正文,因为这是在Kohana中执行此操作的正确方法

如果你愿意:

Request::factory('/someurl')->post(array('id' => 'idididid'))->execute();

然后您的$this->request->post会返回数据