javascript - jquery $ .post不起作用

时间:2018-03-30 01:47:14

标签: javascript jquery ajax

我刚刚开始使用Ajax和httpRequest。当我在玩代码的时候,我注意到$ .get工作正常,但$ .post不起作用。这是我的代码:

$(document).ready(function() {
    $.post('hello.txt', function(data) {
        alert(data);
    }).fail(function() {
        alert('fail');
    });
});

它总是让我失败,我无法弄明白。 感谢

1 个答案:

答案 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失败是因为它旨在为要处理的资源提供数据,而文本文件无法处理这些数据。

希望这能够解决这个问题。