假设我的网址为
http://someurl.com/Search?q=a&page=8
(上面提到的URL
被称为AJAX
中的MVC4.paging
我想要的是仅显示http://someurl.com/Search?q=a
我想隐藏我的第二个parameter
,即page = 8
这可能吗?
编辑:添加更多混乱。
<a data-ajax="true" data-ajax-loading="#divLoading" data-ajax-method="POST" data-ajax-mode="replace" data-ajax-success="successPaging" data-ajax-update="#searchresults" href="/Search?q=a&page=1" title="Go to first page"><<</a>
我的Paging中是Next的按钮,它正在发出一个AJAX请求,所以我不知道如何将GET更改为POST。
答案 0 :(得分:1)
网址并不适用于外观;它告诉服务器正在请求什么资源,并且在查询字符串的情况下,服务器需要返回响应的信息。 http://someurl.com/Search?q=a
是完全与http://someurl.com/Search?q=a&page=8
不同的资源。使用GET请求,您拥有的只是URL,因此服务器所需的所有信息都必须在URL中。评论中的其他人告诉您要做的是使用POST请求,其中包括帖子正文。换句话说,您可以将信息传递到URL和邮件正文中的服务器两者。这允许您从URL中删除page
参数,并将其包含在帖子正文中。这是你能达到你想要的唯一方式。
那就是说,严格来说,POST不适合获取这样的资源。 POST应该用于更新或修改资源或在API场景中调用某些原子方法。它也可以用于创建资源,尽管PUT更合适。 GET应该用于返回不可变的资源。例如,无论客户端请求什么,对http://someurl.com/Search?q=a&page=8
的任何请求都应始终返回相同的响应。并且,实际使用URL的重要性甚至更低,因为用户根本没有看到它,因为您通过AJAX请求它(它不会显示在导航栏中)。只需将其保留为GET请求并保留参数。