2011-03-19 22 views
6

tengo un script jquery, que publica mi formulario. aquí está:Jquery POST Json return

$(document).ready(function(){ 
$("form#submit").submit(function() { 


var an  = $('#an').attr('value'); 
var betreff = $('#betreff').attr('value'); 
var text = $('#text').attr('value'); 

    $.ajax({ 
     type: "POST", 
     url: "newmsg.php", 
     data: "an="+ an +"& betreff="+ betreff +"&text="+ text, 
     success: function(){ 

      $('#window').html(name);     

     } 
    }); 
return false; 
}); 
}); 

mi archivo newmsg.php

<?php if($_POST['an']=="john") { echo json_encode(array("name"=>"hi john")); } ?> 

mi problema es que mi archivo php no devolverá el nombre, por lo que mi div #window no envía el mensaje

espero que les entiende ...

muchas gracias

Respuesta

19

Trate

success: function(data){ 
    var json = $.parseJSON(data); 
    $('#window').html(json.name);     
} 
+0

esto no funciona para mí :( – njaknjak

+0

¿Qué versión de jQuery estás usando? – mattsven

+0

uso la versión más reciente – njaknjak

2

esto es prob la parte que tiene mal

$('#an').attr('value'); 

si id = an es una entrada debe hacerse de esta manera

$('#an').val(); 

si id = An es un envase debe hacerse de esta manera

$('#an').html(); 

también querrá cambiar el resto de estos

var betreff = $('#betreff').attr('value'); 
var text = $('#text').attr('value'); 
+0

gracias también hombre! – njaknjak

+0

su bienvenida, entonces, ¿por qué eligió la otra respuesta como su solución? –