2012-08-28 42 views
0

當我嘗試發送形式[錯誤:MultipartParser.end():流意外結束:狀態= START]

link(rel='stylesheet',href='/stylesheets/home/profile/home_menu.css') 
script(type='text/javascript',src='/javascripts/perfil_editar.js') 

#logo_usuario 
    img(src='') 
#nombre_usuario(class='titulo1') 
    input(type='text',placeholder='',id="perfil_inputdatos_usuario") 
    input(type="text",placeholder="",id="perfil_inputdatos_tipo") 
#datos_fondo 
#perfil_publicaciones_fondo 
    select(id='perfil_publicaciones_lista',size='2') 
     option(value='si', selected='selected') Publicacion 1 
     option(value='no') Publicacion 2 
    #perfil_publicaciones_ir 
     t Ir  

#perfil_busquedas_fondo 
    select(id='perfil_busquedas_lista',size='2') 
     option(value='si', selected='selected') Busqueda 1 
     option(value='no') Busqueda 2 
    #perfil_busquedas_ir 
     t Ir  


#ubicacion_fondo 

#datos_usuario 
    #perfil_datos_nombre 
     img(src='/images/logo_nombre2.png')  
    #perfil_datos_telefonos 
     img(src='/images/logo_telefono2.png') 
    #perfil_datos_direccion 
     img(src='/images/logo_direccion2.png') 
    #perfil_datos_mail 
     img(src='/images/logo_web2.png') 

    form(action='/nuevaEdicion',method='post',enctype='multipart/form-data',id='editar') 
     input(type='name',name='perfil_inputdatos_nombre',id='perfil_inputdatos_nombre') 
     input(type='name',name='perfil_inputdatos_direccion',id='perfil_inputdatos_direccion') 
     input(type='name',name='perfil_inputdatos_telprivado', id='perfil_inputdatos_telprivado') 
     input(type='name',name='perfil_inputdatos_telcontacto',id='perfil_inputdatos_telcontacto') 
     input(type='name',name='perfil_inputdatos_telcelular',id='perfil_inputdatos_telcelular') 
     input(type='name',name='perfil_inputdatos_mail',id='perfil_inputdatos_mail') 

#datos_titulo(class='titulo2') 
    t Datos 

#perfil_publicaciones_titulo(class='titulo2') 
    t Publicaciones Realizadas 
#perfil_busquedas_titulo(class='titulo2') 
    t Busquedas Guardadas 

#ubicacion_titulo(class='titulo2') 
    t Ubicacion 
#perfil_editar 
    t Editar Perfil 

我收到此錯誤i的AJAX呈現此與此腳本

$(document).ready(function(){ 

    $('.perfil_nav a').click(function(){ 
     var objAttr=$(this).attr("id"); 
     $('#informacion').animate({height:'hide'},600, 
     function() 
      { 
       $.ajax({ 
       url: "/profile_arquitecture_/"+objAttr, 
       }).done(
       function(msg) {$('#informacion').html(msg);}); 
      }); 
     $('#informacion').fadeIn(600); 
    }); 

}); 

只從這個文件 home.jade

extends layout 

append head 
    link(rel='stylesheet',href='/stylesheets/home/home.css') 
    script(type="text/javascript",src="https://maps.google.com/maps/api/js?sensor=false&language=es") 
    script(type='text/javascript',src='/javascripts/home_menu.js') 

block contenido_central 
    #contenido 
     #capa_principal 
      #barra_sesion 
       #barra_menu 
        ul(class='perfil_nav') 
         li(class='first') 
          a(href='#',id='miperfil') Perfil 
         li 
          a(href='#',id='mispublicaciones') Mis Publicaciones 
         li 
          a(href='#',id='misbusquedas') Mis Busquedas  
         li(class='last') 
          a(href='#',id='mismensajes') Mensajes 
      #informacion 

附加形式更改名爲信息一個DIV。玉的信息在其與res.render

exports.editarPerfil=function(req,res) 
{ 
    console.log(req.body) 
    res.render('home/nosotros', 
    {title: 'Bienvenido ', 
    sessionUser: req.session.passport.user 
    }); 
} 
在app.js

呈現routes.perfil.js div的

app.post('/nuevaEdicion',express.bodyParser(),routes.perfil.editarPerfil); 

這是在控制檯中的錯誤

[Error: MultipartParser.end(): stream ended unexpectedly: state = START] 
{} 

編輯2:

我發現,當我把表格

enctype="application/x-www-form-urlencoded" 

頁面凍結,但是當我把

enctype="multipart/form-data" 

我必須點擊多次提交,但表單正常工作,結果在控制檯

{ perfil_inputdatos_nombre: '', 
    perfil_inputdatos_direccion: '', 
    perfil_inputdatos_telprivado: '', 
    perfil_inputdatos_telcontacto: '', 
    perfil_inputdatos_telcelular: '', 
    perfil_inputdatos_mail: '' } 

,當我把

enctype="text/plain" 

表格工作正常,罰款很快,沒有公關oblem但結果在控制檯

{} 

,所以我認爲這個問題是在HTML,但任何可以解決這個???坦

這是配置文件ID處理

exports.profile_pages=function(req,res) 
{ 
    var usuario_actual=req.session.passport.user; 
    mongo.dbusuarios.infoUsuario(usuario_actual,function(err,items) 
    { 
     if(err) throw err; 
     res.render('home/profile/home_'+req.params.id, 
     { 
      title:'', 
      layout:false, 
      datos_perfil:items, 
     }); 
    }); 
}; 
+1

查看瀏覽器中表單的生成HTML(回到'application/x-www-form-urlencoded')之後。有沒有什麼驚喜? – ebohlman

+0

可能是所生成的html,但在源代碼中不會顯示... im正在嘗試在ajax中附加div格式... – andrescabana86

+1

那麼,如果您使用wget或curl等獲取它,它會是什麼樣子?或者如果你'console.log()'在瀏覽器中的ajax請求的結果? – ebohlman

回答

0

你的點擊處理程序應return false保持瀏覽器嘗試處理點擊。這可能是你搞砸了。如果沒有幫助,console.log()的值爲objAttr,並確保確實存在與其值相對應的玉文件。

+0

是,這是的,我確定感謝名單給你很多問題,一個輪空 – andrescabana86