当前位置: 首页 > 面试题库 >

$ .post和$ .ajax之间的区别?

汪鸿波
2023-03-14
问题内容

好奇是否有人知道关于data参数的区别。

我有一种$.post方法,将a $('#myform').serialize()作为我的数据参数即可工作。

如果我使用这种$.ajax()方法尝试相同的操作,则不会成功,因为我的数据参数似乎不正确。

有谁知道区别,我可能会用什么代替上面的.serialize


问题答案:

重新阅读一些在线文档后,我决定在$ .ajax上坚持使用$ .post。

$ .ajax方法的数据参数与$ .post方法的数据有所不同,不确定到底是什么,但是有所不同。

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

这就是我最终得到的

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

从jQuery
3.0开始,删除了jqXHR.success(),jqXHR.error()和jqXHR.complete()回调方法。您可以改用jqXHR.done(),jqXHR.fail()和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 之间的区别是什么: 和 另外,哪个是最佳选择? 问题答案: 无论您使用哪种jQuery方法($ .get,$。ajax等),以下内容都将防止将来 所有 AJAX请求都被缓存。 您应该使用$ .ajax,它将允许您关闭 该 实例的缓存:

  • 问题内容: 和和有什么区别? 在哪个条件下使用哪个更好? 问题答案: 是最可配置的,您可以在其中对HTTP标头等进行精细控制。您还可以使用此方法直接访问XHR对象。还提供了更细粒度的错误处理。因此可能会更复杂并且通常没有必要,但有时非常有用。您必须自己通过回调处理返回的数据。 只是它的简写,但抽象了一些配置,为隐藏的内容设置了合理的默认值。将数据返回给回调。它仅允许GET请求,因此附有类似抽象的功

  • 本文向大家介绍Jquery AJAX POST与GET之间的区别详细介绍,包括了Jquery AJAX POST与GET之间的区别详细介绍的使用技巧和注意事项,需要的朋友参考一下 1:GET访问 浏览器 认为 是等幂的 就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配] 所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结果 POST则 认为

  • HTTP协议中的PUT、POST和PATCH方法有什么区别?

  • 问题内容: 我错放了太多次了,我想我一直忘记,因为我不知道两者之间的区别,只是一个给了我我期望的价值,而另一个却没有。 为什么是这样? 问题答案: 是的简写形式(尽管请注意,该表达式只会被计算一次。) 是的,即指定一元的到。 例子:

  • 问题内容: 因此,我有一段简单的代码可以打印出整数1-10: 然后,如果仅在第3行上更改一个运算符,它将打印出无限数量的1整数(我知道为什么会这样做)。为什么在运行第二个程序时没有出现语法错误?如果赋值运算符后面跟着一个加法运算符,它不会调用语法错误吗? 问题答案: 与相同, 只是意味着。