2015-08-19 85 views
3

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

这个作品

的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); 
    } 
}); 

我很困惑,我必须使用“方法”而不是“方法”:我甚至不知道这是怎么发生的,尽管它是一个错字?

+0

可以在jsfiddle http://jsfiddle.net上演示吗? – guest271314

+7

没有'metho'选项。一个解释可能是它的工作原理,因为默认方法是'GET',它使用'GET',但它不能使用'POST'。看到'printers.php'会验证这一点。 – Popnoodles

+0

@Popnoodles _“但使用POST时不起作用”_?可以描述细节? – guest271314

回答

4

区别ajax的默认方法是"GET"。由于ajax没有metho选项,因此忽略并且正在使用默认值。当您指定method: "POST"时,您将使用POST而不是GET来覆盖默认值。因此,我们可以推断,当使用GET时,被调用的脚本可以正常工作,而不是在使用POST时(可能是因为它查找接收到的数据的位置)。

+0

非常感谢,每天都在学习新东西 – brunobliss