0

每当您单击元素时,此代码都会切换元素的颜色。但是如何在第一个切换和第二个切换上发送带有查询字符串的GET 请求 ?toggle=True?toggle=False

4

3 回答 3

1

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

除非您使浏览器加载一个全新的页面,否则发出请求和更改地址栏中的 URI 是两件不同的事情。

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

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

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

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

其余的变得更加复杂......</p>

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

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

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

于 2013-01-23T16:16:57.383 回答
0

只需使用 jQuery 的 get 方法来执行此操作,或者在您的切换函数中自己执行此操作。

于 2013-01-23T15:48:04.203 回答
-1

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

每次点击增加计数器:)

于 2013-01-23T15:47:46.483 回答