检测请求是否是jQuery中的帖子

时间:2011-06-26 18:55:17

标签: javascript jquery

我正在尝试以不同的方式加载页面,如果它是一个帖子或获取,并且看起来jQuery会有一些东西,所以我可以做

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

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

2 个答案:

答案 0 :(得分:5)

问题在于您将客户端与服务器端混淆。

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

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

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

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

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

希望有助于清除它。

答案 1 :(得分:0)

我不知道这是否真的可以用于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