【问题标题】:jquery ajax call "metho" instead of "method"?jquery ajax 调用“metho”而不是“method”?
【发布时间】:2015-11-13 02:08:27
【问题描述】:

我有一个 script.js,它使用 jQuery 的 ajax 函数将字符串查询到 php 文件,它按预期工作,但我觉得奇怪的是我必须使用“metho”sintax 而不是“method”,看看这个,

这行得通

script.js

    $.ajax({
    url: 'php/printers.php',
    metho: 'POST',
    data: {
        data: c,
        orderby: d,
        },
    success: function(output) {

        $('.results').html(output);

        var tbody = document.getElementsByClassName('results');
        var rows = tbody[0].getElementsByTagName('tr');     

        ajax.applyClass(rows);  
    }
});

这不是

    $.ajax({
    url: 'php/printers.php',
    method: 'POST',
    data: {
        data: c,
        orderby: d,
        },
    success: function(output) {

        $('.results').html(output);

        var tbody = document.getElementsByClassName('results');
        var rows = tbody[0].getElementsByTagName('tr');     

        ajax.applyClass(rows);  
    }
});

我很困惑,我必须使用“方法”而不是“方法”:O 我什至不知道这是怎么发生的,虽然这是一个错字??

【问题讨论】:

  • 没有选项metho。一种解释可能是它正在工作,因为默认情况下方法是GET,它使用GET 工作,但使用POST 不起作用。看到printers.php 可以验证这一点。
  • @T.J.Crowder 你不必删除它。即使不是CW,它仍然是公平的。你也很好......向你致敬。
  • @brunobliss:这是因为 POST 和 GET 的工作方式:GET 传递查询字符串中的所有参数。 POST 在请求正文中传递它,而不是查询字符串。
  • @Popnoodles “我不相信这个问题对 SO 有效” ?原因?
  • 除非它以某种方式被复制,否则我认为这对 SO 来说是个好问题。假设它的知识库主要目的,它是完全有效的,包括“GET方法是AJAX请求中的默认方法”等信息。

标签: javascript php jquery ajax methods


【解决方案1】:

区别ajax的默认方法是"GET"。由于ajax 没有metho 选项,因此将被忽略并使用默认值。当您指定 method: "POST" 时,您将覆盖默认值,使用 POST 而不是 GET。

因此我们可以推断出调用的脚本在使用 GET 时正常工作,而不是在使用 POST 时(可能是因为它在哪里查找接收到的数据)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-24
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 2013-03-18
    • 2014-09-27
    相关资源
    最近更新 更多