【发布时间】:2014-02-06 04:13:27
【问题描述】:
从 blueimp fileupload 插件成功上传后,其他数据也被提交,但是,我从 Firebug 收到的 json 数据响应显示对每个输入字段的响应被截断为一个字符(字节?) .这是预期的反应吗?我正在使用 jQueryMobile 和 Blueimp 文件上传插件。具体请看:
var formData = $('#uploadform'); console.log(formData.serializeArray());
结果来自 console.log
[Object { name="image_name", value="Don"}, Object { name="image_description", value="Testing"}, Object { name="image_keywords", value="音乐家演员艺术家”},对象 { name="image_nudity", value="0"}, Object { name="cat_id", value="42"}, Object { name="action", value="uploadimage"} ]
来自 blueimp 文件上传提交的 POST 响应
{"files":[{"name":"image2.jpeg","size":114688,"type":"image/jpeg","cat_id":"4","image_name":"D ","image_nudity":"","image_description":"T","image_keywords":"M","action":"u","example":"","user_id":"2","url ":"../models/data/tmp_media/image2.jpeg","thumbnailUrl":"../models/data/tmp_media/thumbnail/image2.jpeg","deleteUrl":"http://myfame/mobile /?file=image2.jpeg","deleteType":"DELETE"}]}
这是 UploadHandler.php 中的代码
protected function handle_form_data($file, $index) {
global $user_info;
$file->cat_id = (empty($_REQUEST['cat_id'][$index])) ? "" : $_REQUEST['cat_id'][$index];
$file->image_name = (empty($_REQUEST['image_name'][$index])) ? "" : $_REQUEST['image_name'][$index];
$file->image_nudity = (empty($_REQUEST['image_nudity'][$index])) ? "" : $_REQUEST['image_nudity'][$index];
$file->image_description = (empty($_REQUEST['image_description'][$index])) ? "" : $_REQUEST['image_description'][$index];
$file->image_keywords = (empty($_REQUEST['image_keywords'][$index])) ? "" : $_REQUEST['image_keywords'][$index];
$file->action = (empty($_REQUEST['action'][$index])) ? "" : $_REQUEST['action'][$index];
$file->example = (empty($_REQUEST['example'][$index])) ? "" : $_REQUEST['example'][$index];
$file->user_id = $user_info['user_id'];
请注意提交的数据和响应将输入截断为一个字符的差异,关于如何修复此问题的任何想法,或者这是一个错误?
【问题讨论】:
-
OK SOLVED 我将所有 $_REQUEST 更改为 $_POST 并解决了这个特殊问题。抱歉,我无法回答我自己的 POST 没有足够的 REP。
标签: jquery jquery-file-upload blueimp