如何使用Jquery将具有特定查询字符串的GET请求发送到我的页面?

时间:2013-01-23 15:43:44

标签: javascript jquery query-string

每当您点击元素时,

This code都会切换元素的颜色。但是,如何在第一个切换中使用查询字符串 ?toggle=True发送 GET请求,在第二个切换上发送?toggle=False

3 个答案:

答案 0 :(得分:1)

  

Ow,我可以看到它出现在Firebug中,但不会出现在页面的url中。知道为什么吗?

发出请求并更改地址栏中的URI是两回事,除非您使浏览器加载一个全新的页面。

如果你想这样做,那么你应该忘记使用客户端JavaScript并移动逻辑服务器端并使用常规链接。

在服务器端逻辑中,查询字符串参数的值将用于确定div的class(用于设置样式)和链接的href(即如果查询字符串中有True或False。)

如果您想避免加载新页面,那么您将看到两个单独的步骤。

您已经拥有的第一个(使用JS更改样式)。

其余的变得更加复杂......

首先,您需要服务器端逻辑,以便查询字符串中的True / False将正确设置页面的初始状态。这与前一种方法描述的逻辑相同。

然后,您需要更新URI,使其与在您正在更改当前页面的状态下加载页面的URI相匹配。这是使用History APIpushState和朋友)完成的。 this question上有关于该主题的更多详细信息。

如果您想通知服务器更改,那么您需要使用jQuery.get,以及更新页面并更改地址栏中的URI。为了提高效率,您应该添加一个额外的查询字符串参数(这样您可以从正常页面加载中判断它是否来自Ajax)并让服务器在看到该参数时返回一个简单的确认而不是整个HTML文档。 / p>

答案 1 :(得分:0)

只需使用jQuery的get方法,或者在切换函数中自行完成。

答案 2 :(得分:-1)

一个实用但非常基本的解决方案可能是使用局部变量作为计数器。如果计数器是偶数,则发送True,如果是奇数,则发送False。

每次点击增加计数器:)