我正在尝试以不同的方式加载页面,如果它是一个帖子或获取,并且看起来jQuery会有一些东西,所以我可以做
if (isPost())
{
// do something if this page was a post
}
我正在根据请求类型显示/隐藏某些内容,并希望使用javascript专门执行此操作。我可以轻松地使用我正在使用的框架,但不想这样做。
答案 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