2016-10-14 15 views
1

私のコードは次のようになります。ハッシュにフィールドを抽出した後、jsonデータをdbにアップロードします。しかし、私は '例外TypeError - 文字列にゼロの無暗黙の変換' を取得log_extractor.rbのラインにJSON.parse(json_data)をTypeError - nilをStringに暗黙的に変換しないSinatra

upload_results.erb:

   $("form").submit(function(event){ 
       var fileoutput = reader.result; 
      //$("#upload_button").click(function(){ 
      $.ajax({ 
         url:'/file_upload', 
         type : "POST", 
         data: { 
         fileoutputid: fileoutput 
         }, 
         dataType: 'json', 
         success: function(response) 
          { 
          }, 
         failure: function(response){ 
         } 
      }); 
    }); 

server.rb

   post '/file_upload' do 
       file_data = params[:fileoutputid] 
       @uploaderobj.fileUpload(file_data) 
       end 
この行で

log_extractor.rb

  @data_hash = JSON.parse(json_data) 
      @data_hash['test_results'].keys.length 
      end 
+0

何が質問ですか?あなたのjson_dataは有効なJSONがなく、解析できないnilです。 –

+0

ようこそスタックオーバーフロー! [ask]と[mcve]を参照してください。 – Mat

答えて

0

@data_hash = JSON.parse(json_data) 

json_dataは、nilです。どこに設定しましたか?

+0

upload_results.erbにajaxで投稿されたデータは、server.rbによってfile_dataとして渡されたものです。そして、DBは更新されていますが、このエラーは継続しています。 DBは有効なデータで更新されます。つまり、データはゼロではありません。 – Jenisha

+2

申し訳ありませんが、十分な情報がありません。見えないコードを投稿してください。 – Ursus

関連する問題