我刚刚开始使用Ajax和httpRequest。当我在玩代码的时候,我注意到$ .get工作正常,但$ .post不起作用。这是我的代码:
$(document).ready(function() {
$.post('hello.txt', function(data) {
alert(data);
}).fail(function() {
alert('fail');
});
});
它总是让我失败,我无法弄明白。 感谢
答案 0 :(得分:1)
Barmar在评论中是正确的,但是为了回答,让我们回顾一下这些函数正在做什么。
当您使用jQuery AJAX方法时,它们会对您在函数的url
参数中提供的资源执行HTTP请求。只要该值位于您的服务器(端点)上,该功能就会触及它。
$.get()
执行HTTP GET操作,这是我们通过HTTP获取数据的方式。在您的示例中,您将hello.txt
指定为url
,只要该文件位于您的服务器上,应用程序就会向该资源发出GET请求。如果找到,则返回该资源的内容。这可以通过文本文件,JSON有效负载,HTML网页等来完成。只要资源具有可返回内容,它就会返回该内容。
$.post()
执行HTTP POST操作,该操作将数据发送到要处理的资源。 POST操作不是为了获取资源的数据,而是为了将数据推入其中。通常情况下,你会使用POST来创建一些包含你推送到资源的数据的东西(而不是用于修改的PUT和用于删除的DELETE,但这超出了这个答案)。
因此,GET有效,因为该操作旨在获取数据,并且您提供的资源包含要返回的数据。 POST失败是因为它旨在为要处理的资源提供数据,而文本文件无法处理这些数据。
希望这能够解决这个问题。