Curious if anyone knows what the difference is in regards to the data parameter.

我有一个$.post方法,它以$('#myform').serialize()作为我的数据参数,并且有效.

如果我使用$.ajax()方法try 同样的方法,它将不起作用,因为我的数据参数似乎不正确.

Does anyone know the difference and what I might use instead of the above .serialize?

推荐答案

在重新阅读了一些在线文档后,我决定继续使用$.超过美元.AJAX

美元.ajax方法的数据参数与$不同.post方法不确定具体是什么,但有区别.

我想使用$.ajax的唯一原因是我想要能够处理事件,而没有意识到我可以使用$.post做到这一点.

Here is what I ended up with

function GetSearchItems() {
    var url = '@Url.Action("GetShopSearchResults", "Shop", New With {.area = "Shop"})';
    var data = $("#ShopPane").serialize();
    // Clear container
    $('#shopResultsContainer').html('');
    // Retrieve data from action method
    var jqxhr = $.post(url, data);
    // Handle results
    jqxhr.success(function(result) {
        //alert("ajax success");
        $('#shopResultsContainer').html(result.ViewMarkup);
    });
    jqxhr.error(function() {
        //alert("ajax error");
    });
    jqxhr.complete(function() {
        //alert("ajax complete");
    });

    // Show results container
    $("#shopResultsContainer").slideDown('slow');
}

JQuery 3.x

jqXHR.Success()、jqXHR.error()和jqXHR.Complete()回调 从jQuery 3.0起,方法被删除.您可以使用jqXHR.one(), 而是jqXHR.ail()和jqXHR.Always().

var jqxhr = $.post(url, data);
// Handle results
jqxhr.done(function(result) {
    //alert("ajax success");
});
jqxhr.fail(function() {
    //alert("ajax error");
});
jqxhr.always(function() {
    //alert("ajax complete");
});

https://api.jquery.com/jquery.post/

Jquery相关问答推荐

在shiny 的datatable列中启用智能搜索

如何用 jQuery / AJAX 替换表格的行

即使我使用 [FromBody] C# 从视图(Ajax)发送请求时在控制器中收到 NULL 对象

加载外部 css 文件,如 jquery 中的脚本,这在 ie 中也兼容

使用 jQuery 更改 CSS 类属性

在 select2 中使用 AJAX 进行标记

如何从 jQuery 中的父级中 Select 所有子级(任何级别)?

如何立即启动 setInterval 循环?

在 jQuery 中将 JSON 数组转换为 HTML 表

当ID包含方括号时按ID查找DOM元素?

将 CSS 应用于 jQuery 对话框按钮

使用 jQuery Select 最后 5 个元素

Jquery 和 HTML FormData 返回未捕获的 TypeError:非法调用

jQuery:获取父母,父母ID?

移动 chrome 在滚动时触发调整大小事件

如何使用 jQuery 隐藏 div?

jQuery slideUp().remove() 在删除发生之前似乎没有显示 slideUp 动画

在 Firefox 上开发的 Javascript 在 IE 上失败的典型原因是什么?

如何在 ReactJS 中使用 JQuery

jquery - 成功时使用ajax结果返回值