发送表单作为ajax而不重新声明url,方法等

时间:2014-06-02 11:12:36

标签: jquery ajax

我知道如果我有表格

<form id="poot" method="POST" action="url/toot">
    <input type="text" name="OhYeah"/>
    <button>Submit</button>
</form>

我能做到:

$( "#poot" ).on( "submit", function( event ) {
    event.preventDefault();

    $.ajax({
        type: $( "#poot" ).attr( "method" ),        
        url: $( "#poot" ).attr( "action" ),
        data: {
            OhYeah: $( "#poot" ).val()
        },
        ...        
    });
});

甚至更好(如果我错了,请纠正我),你可以这样做:

$( "#poot" ).on( "submit", function( event ) {
    event.preventDefault();

    $.ajax({
        type: $( "#poot" ).attr( "method" ),        
        url: $( "#poot" ).attr( "action" ),
        data: $( this ).serialize()             
        ...        
    });
});

有没有办法做到:

$( "#poot" ).submit().success( function( data ){ 
    // data returns from page
} );

考虑到这一切都是在html格式上定义的......

P.S,是的我可以创建自己的函数但是使用jquery(如果存在)会很好。

1 个答案:

答案 0 :(得分:-1)

var url = $('#poot').attr('action');
var data = $('#poot').serialize();

$( "#poot" ).submit(function () {
    $.post(url, data, function(result) {
        //Do stuff
    }
});

http://www.w3schools.com/jquery/ajax_post.asp