Javascript 从PHP获取Jquery文件上传器的自定义响应

Javascript 从PHP获取Jquery文件上传器的自定义响应,javascript,php,jquery,file-upload,blueimp,Javascript,Php,Jquery,File Upload,Blueimp,我想从PHP服务中获得一个用于jquery文件上传的自定义响应 <?php //database query to insert data $sql_params['document_name'] = name; $sql_params['document_location'] =document_location; $sql_params['document_size'] = document_size; $sql_params['document_id'] = $document_

我想从PHP服务中获得一个用于jquery文件上传的自定义响应

<?php

//database query to insert data

$sql_params['document_name'] = name;
$sql_params['document_location'] =document_location;
$sql_params['document_size'] = document_size;
$sql_params['document_id'] = $document_id;

echo json_encode($sql_params);

?>
我希望获得json响应,如下所示:

{"document_name":"file (9).txt","document_location":"location","document_size":2720,"document_id":"44"}
但我总是得到:

[{"name":"file (9).txt","size":2720,"type":"text\/plain","url":"location","delete_url":"some URL","delete_type":"DELETE"}]

由于Blueimp,您将获得默认响应。您可以使用blueimp中的另一个ajax查询从db获取最新的文件,如:

.....
add: function(e, data) {
    var filename = data.files[0].name;

    var jqXHR = data.submit()
        .success(function(result, textStatus, jqXHR) {
            console.log('success');
            console.log(result);
            console.log(textStatus);
        })
        .error(function(jqXHR, textStatus, errorThrown) {

        }).complete(function(result, textStatus, jqXHR) {
            $.ajax({
                url: "getlatestfile.php",
                method: "POST",
                data: "url=" + result[0].url, // this is unique url of uploaded file
                success: function(response) {
                    //response has doc id
                }

            });
        });
}
....
在php处理程序中

getlatestfile.php

<?php
......
if (empty($_POST["url"])) {
    die("Url must be specified");
} 

$url = $_POST["url"];

$sql = "SELECT *FROM your_table WHERE url = $url ORDER BY date DESC LIMIT 1";
// get $result
echo $result;

您能在浏览器上打开firebug控制台并查看ajax响应数据吗?我是说整个反应。是的,我能看到反应数据。但是对于同一个URL有两个post请求,并且两个ajax响应都存在。请将它们放在您的问题中,以便进行分析。我已经发布了两个JSON响应。请告诉我您需要什么。顺便说一下,这是blueimp的默认响应。为什么要获取自定义响应?
<?php
......
if (empty($_POST["url"])) {
    die("Url must be specified");
} 

$url = $_POST["url"];

$sql = "SELECT *FROM your_table WHERE url = $url ORDER BY date DESC LIMIT 1";
// get $result
echo $result;