2014-01-29 31 views
1

我目前使用uploadify jQuery插件將圖片上傳到文件夾。圖片上傳部分工作正常,但當我嘗試添加額外的表格數據時,它給了我錯誤Uncaught SyntaxError: Unexpected token x未捕獲的SyntaxError:帶jQuery插件的意外令牌x?

我正在檢索數據作爲JSON數組,我的響應標題內容類型爲application/json,但不確定爲什麼它會拋出此錯誤。

我的問題是:基於下面的代碼爲什麼這個錯誤發生,什麼是解決方案?

的jQuery:

  $('#userfile').uploadify({ 
       'auto':false, 
       'swf': base_url + 'assets/js/jquery/uploadify_31/uploadify.swf', 
       'uploader': base_url + 'post/cover_upload', 
       'cancelImg': base_url + 'assets/jquery/uploadify-cancel.png', 
       'fileTypeExts':'*.jpg;*.bmp;*.png;*.tif;*.gif;*.jpeg', 
       'fileTypeDesc':'Image Files (.jpg,.bmp,.png,.tif,.gif,.jpeg)', 
       'fileSizeLimit':'10MB', 
       'fileObjName':'userfile', 
       'buttonText':'Select Photo(s)', 
       'multi':true, 
       'removeCompleted':false, 
       'onUploadSuccess' : function(file, data, response) { 
        var responseObj = JSON.parse(data); 
        if(responseObj.file_name){ 
         $('#cover-image').css("background-image", "url('http://localhost:8888/SimpleBlog/uploads/"+responseObj.file_name+"')");  
         $('#cover-image').css("background-size", "cover"); 
         $('#cover-image').css("background-position", "center"); 
        } 
       }, 
       'onUploadStart' : function(file) { 
        var uri = window.location.pathname.split('/').pop(); 
        $('#userfile').uploadify("settings", 'formData', {'pst_str' : uri}); 
       } 
      }); 

PHP - 交/ cover_upload

public function cover_upload(){ 

    $this->load->library('upload'); 

    $image_upload_folder = FCPATH . '/uploads'; 

    if (!file_exists($image_upload_folder)) { 
     mkdir($image_upload_folder, DIR_WRITE_MODE, true); 
    } 

    if($this->input->post('pst_str') == "add"){ 
     $pst_str = $this->create_temp_post(); 
    }else{ 
     $pst_str = $this->input->post('pst_str'); 
    } 

    $this->upload_config = array(
     'upload_path' => $image_upload_folder, 
     'allowed_types' => 'png|jpg|jpeg|bmp|tiff', 
     'max_size'  => 36000, 
     'max_width'  => 10240, 
     'max_height' => 7680, 
     'remove_space' => TRUE, 
     'file_name'  => random_string('alnum', 16), 
     'pst_str'  => $pst_str 
    ); 

    $this->upload->initialize($this->upload_config); 

    if (!$this->upload->do_upload()) { 
     $upload_error = $this->upload->display_errors(); 
     echo json_encode($upload_error); 
    }else{ 
     header("content-type:application/json"); 

     $file_info = $this->upload->data(); 
     $this->post_model->add_cover($pst_str, $file_info['file_name']); 

     echo json_encode($file_info); 

    } 

} 

任何幫助是極大的讚賞。

+0

什麼是您的數據響應是什麼樣子? –

+0

像這樣'{「client_name」:「banana-gif.jpg」,「file_ext」:「.jpg」,「file_name」:「Rl4dmhySHWgrAsH6.jpg」,「file_path」:「\/Applications \/MAMP/htdocs \/SimpleBlog \/uploads \ /「,」file_size「:」22.85「,」file_type「:」image/jpeg「,」full_path「:」\/Applications \/MAMP \/htdocs \/SimpleBlog \/uploads \/Rl4dmhySHWgrAsH6 .jpg「,」image_height「:」534「,」image_size_str「:」width = \「950 \」height = \「534 \」「,」image_type「:」jpeg「,」image_width「:」950「 is_image「:true,」orig_name「:」Rl4dmhySHWgrAsH6.jpg「,」raw_name「:」Rl4dmhySHWgrAsH6「}; – learn

回答

2

它似乎是你的JSON格式化的方式。嘗試以這種方式解析你的迴應。

if(data.file_name){ 
    $('#cover-image').css("background-image", "url('http://localhost:8888/SimpleBlog/uploads/"+data.file_name+"')");  
     $('#cover-image').css("background-size", "cover"); 
     $('#cover-image').css("background-position", "center"); 
    } 

http://jsfiddle.net/Ef7b3/

相關問題