Javascript 从PHP获取Jquery文件上传器的自定义响应
我想从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
//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;