$ .ajax POST有效但$ .post没有

时间:2011-11-08 21:47:27

标签: asp.net-mvc jquery

我正在使用jquery做一个简单的表单帖子。问题是POST的$ .ajax正在运行但$ .post却没有。请看下面的代码:

 $.post(
        {
            url: url,
            data: form.serialize(),
            success: function (result) {
                alert('startline posted');
            }                
        });

和工作版

            $.ajax(
        {
            url: url,
            type: "POST",
            data: form.serialize(),
            success: function (result) {
                alert('startline posted');
            },
            error: function (jqXhr, textStatus, errorThrown) {
                alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')");
            }
        });

调试$ .post示例,直到我只想尝试$ .ajax版本来获取错误信息。但不幸的是它只是奏效了:))

这两种方法有何不同?

4 个答案:

答案 0 :(得分:2)

jQuery.post的参数格式为url, data, callback, datatype。正如您所用,jQuery.ajax的参数为url, optionsoptions。换句话说,$.post来电的格式不正确。

答案 1 :(得分:2)

$.post( url, form.serialize())
    .success( function (result) {
                alert('startline posted');
});

试试吧

答案 2 :(得分:1)

$.post采用多个参数,而不是像$.ajax这样的一个对象。试试这样:

$.post(url, form.serialize(),  function (result) {
                alert('startline posted');
            });       

答案 3 :(得分:0)

这不是您使用$.post

的方式
$.post('url/here.php', {

    data: form.serialize()
}, function(result) {

    alert('startline posted');
});