在ajax请求中捕获PHP flush flush

时间:2016-03-29 11:08:17

标签: php ajax flush

我正在处理将图片上传到Facebook的过程。因为我想在请求中上传多张图片,我想通过刷新从Facebook api返回的图片对象来更新上传图片的状态。我正在使用flush()和ob_flush()。 我的代码:

public static function response($data, $status = 200) {
    if (!headers_sent()) {
    header("HTTP/1.1 " . $status . " " . self::getRequestStatus($status));
    header('Content-type:application/json;charset=utf-8');
    }

    echo json_encode($data, JSON_UNESCAPED_SLASHES);
    flush();
    ob_flush();
}

我在浏览器(谷歌浏览器)上运行请求。它工作正常,我得到第一个内容

{"data":[{"id":"123456...}]}

几秒钟后,我得到了下一个内容。现在我发送请求vj ajax请求到服务器triyng。请求:

        var sendRequest = function (path, method, parameters, handler) {
            $.ajax({
                url: path,
                data: parameters,
                type: method,
                success: function (data) {
                    if (data.data)
                        data = data.data;

                    handler(data);
                },
                error: function (xhr, ajaxOptions, thrownError) {
                    ErrorsManager.showError(xhr.responseText == '' ? '' : JSON.parse(xhr.responseText).error);
                    handler(null);
                }
            });
        };

如果我发送一张图片,它的工作正常。 但如果我发送2张图片,则返回unexpected error < 并且刷新不起作用(我可以通过使用phpStorm调试看到) 我觉得它与标题有关。我试图将标题更改为application/octet-stream,但它没有帮助。

0 个答案:

没有答案