2013-01-23 25 views
0

This code只要点击它就会切换元素的颜色。但我怎样才能发送GET请求查询字符串?toggle=True第一个切换和?toggle=False第二个?如何使用Jquery向我的页面发送带有特定查询字符串的GET请求?

+1

http://api.jquery.com/jQuery.get/ – Quentin

+0

我试过,但我无法看到查询字符串:[demo](http://jsbin.com/urodit/197/edit ) – Bentley4

+0

除了不发送False版本(因为你只在你的两个切换函数中使用'get')......这是有效的。 – Quentin

回答

1

唉,我可以看到它出现在Firebug中,但没有出现在页面的url中。任何想法为什么?

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

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

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

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

你已经拥有的第一个(使用JS改变风格)。

其余变得更为复杂......

首先,你需要服务器端逻辑,这样真/假的查询字符串将设置页面的初始状态正常。这将与前面的方法描述的逻辑相同。

然后,您需要更新URI,以便它与将您正在更改当前页面的状态下加载页面的URI相匹配。这是通过使用History APIpushState和朋友)完成的。有关this question的更多细节。

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

+0

谢谢!你能否在你的答案开头加入[这个代码](http://jsbin.com/urodit/199/edit),并说它只能从开发工具中看到?这对于pple来说更容易找到问题的答案。 – Bentley4

-1

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

递增计数器每次点击:)

+0

是的..这是非常基本的,但很简单! – 2013-01-23 15:49:12

+0

虽然毫无意义。 jQuery切换功能(即从问题链接的代码正在使用)已经可以让您区分奇数和偶数情况。这只是重复检测,因此毫无价值。 – Quentin

0

只是使用jQuery的get方法这样做或做它自己在你的切换功能。

相关问题