检测请求是否是jQuery中的post

我试图以不同的方式加载页面,如果它是一个post或一个get,看起来jQuery会有一些东西,所以我可以做

if (isPost()) { // do something if this page was a post } 

我正在根据请求类型显示/隐藏某些内容,并希望使用javascript专门执行此操作。 我可以轻松地使用我正在使用的框架,但不想这样做。

这里的问题是你在客户端与服务器端混淆。

GET,POST,PUT,DELETE等都是从客户端(例如:浏览器)发送到服务器的HTTP“方法”。 然后,服务器以适当的HTTP响应进行响应,通常采用包含HTML的内容forms。

POST / GET / etc在客户端没有上下文,指示应如何将请求发送到服务器。

可以认为浏览器是您的邮政邮箱,POST / GET / etc是它的传递方式。 当有人向您发送一封邮件时,他们会指定方法,例如头等邮件,隔夜快递或当天发送。 邮局根据收到邮件的方式处理邮件,并使用适当的操作发送邮件。 当您在邮箱中接收邮件时,您不知道它是通过标准邮件,隔夜快递还是当天发送来到达的。 您知道的唯一方法是信封本身的任何信息。

您的问题的解决方案将遵循相同的原则。 要解决它,您需要做的是包含jQuery可以引入的隐藏值,可以是查询字符串,特殊元素,也可以是包含用于获取页面的HTTP方法的隐藏文本框。

这要求相应地更改服务器端代码以将该信息推送回客户端。

希望有助于清除它。

我不知道这是否真的可以在JavaScript中。 但是您可以检查URL中是否存在GET查询字符串

 if (location.search.length > 1) { // your code. } 

location.search返回URL中的查询字符串

 http://example.com/index.html?id=1&value=3 

在这种情况下,location.search将是?id=1&value=3包括问号。

所以,如果它存在,那么你有一个GET