2014-02-06 71 views
1

从blueimp fileupload插件成功上传后,其他数据的表单也被提交,但是,我从Firebug收到的json数据响应显示了对每个输入字段的响应截断为只有一个字符(字节?)。这是预期的回应吗?我正在使用jQueryMobile和Blueimp fileupload插件。请参阅细节:BlueImp fileuploadsubmit serializeArray()发送1个字符的响应

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 = “Musician Actor Artists”},Object {name =“image_nudity”,value =“0”},Object {name =“cat_id”,value =“42”},Object {name =“action”,value =“uploadimage” }]从blueimp fileuploadsubmit

POST响应

{ “文件”:[{ “名称”: “image2.jpeg”, “大小”:114688,”类型 “:” 图像/ JPEG “ ”CAT_ID“: ”4“, ”IMAGE_NAME“: ”d“, ”image_nudity“: ”“, ”image_description“: ”T“, ”image_keywords“: ”M“,” 动作“:” U “ ”示例“: ”“, ”USER_ID“: ”2“, ”URL“:” ../模型/数据/ tmp_media/image2.jpeg “ ”thumbnailUrl“:” ../模型/数据/ tmp_media /缩略图/ image2.jpeg”, “deleteUrl”: “HTTP:// myfame /移动/文件= 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']; 

注意提交的数据和响应截断输入一个字符,任何想法就如何可以固定的偏差,或者这是一个错误?

+0

确定解决我改变了所有$ _REQUEST至$ _ POST代替和解决这方面的问题。对不起,我无法回答我自己的POST没有足够的REP。 –

回答

0

已解决 - 根据您选择的选项将所有$ _REQUEST更改为$ _POST或$ _GET,并使用所选选项修改handle_form_data($ file,$ index)函数。最好检查变量是否为空,因为如果它们未设置,则会抛出错误。

这样做解决了这个特殊的问题。

0

从$ _REQUEST更改为$ _POST(内部handle_form_data函数)是否有用。

protected function handle_form_data($file, $index) { 
    .... 
    $file->user = @$_POST['var1'][$index]; 
    ..... 
} 

但是也可以确保你取得了你的输入变量作为数组,

<input type="hidden" name="var1[]" value="try">