0

我正在 PagodaBox 上运行一个应用程序。在本地它工作正常,但是当我将它推到宝塔时,我收到以下错误:

响应内容必须是实现 __toString() 的字符串或对象,给定的“对象”。

这是路线:

Route::get('tweets/{q}', function($q)
{
    return Twitter::getSearch(array('q' => $q, 'count' => 5, 'lang' => 'sv', 'result_type' => 'recent'));
});

其他路线工作正常。这个错误是什么意思,什么可能导致这个错误?

4

2 回答 2

2

执行此操作以查看返回的内容。

dd(Twitter::getSearch(array('q' => $q, 'count' => 5, 'lang' => 'sv', 'result_type' => 'recent')));

您必须返回具有 __toString() 方法的 View 类,或者如果它是 ajax 请求,那么类似于 Response::json($data);

于 2013-12-04T21:03:40.460 回答
1

创建以下函数

function utf8_encode_deep(&$input) {
    if (is_string($input)) {
        $input = utf8_encode($input);
    } else if (is_array($input)) {
        foreach ($input as &$value) {
            self::utf8_encode_deep($value);
        }

        unset($value);
    } else if (is_object($input)) {
        $vars = array_keys(get_object_vars($input));

        foreach ($vars as $var) {
            utf8_encode_deep($input->$var);
        }
    }

尝试执行以下操作

$response = Twitter::getSearch(array('q' => $q, 'count' => 5, 'lang' => 'sv', 'result_type' => 'recent'));

utf8_encode_deep($response);

return response;
于 2015-09-27T02:19:06.483 回答