何时或如何将params传递给URL?

时间:2015-07-14 09:57:41

标签: javascript php forms url

使用PHP,HTML和Javascript。 使用PHP,我们使用的是MVC框架。

我有一个关于网络传播的基本问题,也许有人可以在这里清楚一些事情。

REST分开,只采取“发布”和“获取”:

让我们说,如果我们这样做:
http://blabla.com/companyA/income/

它将列出给定公司的所有收入。




如果我们这样做:
http://blabla.com/companyA/income/2010/

它将列出该公司2010年的所有收入。

等等。


现在,我希望允许用户从 html表单中选择一些值,然后根据这些值从服务器返回相应的数据。

这是如何工作的?
a)我们应该连接客户端上的URL字符串(表单操作)并将其发送到服务器端吗?
b)我们是否应该将params发送到服务器端,并返回URL?

无论如何会工作?只有一种方法可行吗?这些路径的后果是什么?还有第三种可能吗?

2 个答案:

答案 0 :(得分:2)

  

a)我们应该在客户端连接URL字符串(表单操作)并将其发送到服务器端吗?

它是如何在历史上完成的,它仍然可以正常工作。它相当于手工构建完整的HTML,但是使用PHP(或任何服务器端语言)来帮助您删除手工劳动,将HTML基于您可以轻松访问的数据。

  

b)我们是否应该将params发送到服务器端,并返回URL?

这是不必要的,你已经准备好了所有的数据,因此a)更加可靠,因为它通过排除render-url-from-arguments逻辑让客户端变得有点笨拙。

  

还有第三种可能吗?

是。由于您已经在/ companyA / income / 2010 /(可能通过JSON)公开了资源列表,因此您可以从服务器端提供空页,触发对后端的ajax调用并在客户端动态生成列表。这带来了许多想法,有些是:

  • 当(谷歌)机器人请求空白页面时,SEO如何受到影响?
  • 我们可以重用不同视图的渲染逻辑,而无需重新加载空页吗?

您可以阅读SPA,或Single-page applications

答案 1 :(得分:0)

使用PHP处理时应该创建url,这样您就可以从服务器传递ID或任何其他信息。从客户端制作URL需要额外的处理。

<form action="companyA/income/<?php echo (int)$years; ?>">
    ...

<form action="<?php echo $this->makeUrl('companyA/income', $years); ?>">
    ...