2013-04-01 2 views
0

В моем приложении, у меня есть кусок кода, который «ловит» все нажимает на якорь, и загружает его в мою страницу:Как выполнить .load() на http post?

$("a").live("click", function() { 
    var src = $(this).attr("href"); 
    if ($(this).attr("target") === "_blank") 
     return true; 
    $("#myPage").load(src + " #myPage"); 
    return false; 
}); 

Теперь это работает на всех тегов анкерных. Как я могу сделать все мои запросы POST (отправка данных форм) таким образом?

Редактировать: Как сказал Кевин, я пытался использовать .post, но для меня это не сработало, что я сделал не так? Вот код:

$("form").post("submit", function() { 
    var src = $(this).attr("action"); 
    $("#myPage").load(src + " #myPage"); 
    return false; 
}); 
+0

на почтовых данных, что вы хотите сделать –

+0

@KevinB: Не могли бы вы уточнить? – ojek

+0

@ArunPJohny: Я хочу, чтобы мои данные для отправки были отправлены и возвращены мне без обновления страницы. – ojek

ответ

1

Используйте форму отправить событие для обработки формы POST случай

$(document).on('submit', 'form', function(){ 
    var $this = $(this); 

    $.ajax({ 
     url: $this.attr('action'), 
     type: 'POST', 
     data: $this.serialize() 
    }).done(function(responseText){ 
     $("#myPage").html(responseText) 
    }); 

    return false; 
}) 

Поскольку вы используете JQuery 1.9, возможно, придется переписать a обработчик, как

$(document).on("click", 'a', function() { 
    var src = $(this).attr("href"); 
    if ($(this).attr("target") === "_blank") 
     return true; 
    $("#myPage").load(src + " #myPage"); 
    return false; 
}); 
+0

Этот код выглядит великолепно, но он обновляет страницу. Почему? – ojek

+0

который один, форма отправить один? –

+0

Форма отправьте его. – ojek

Смежные вопросы