如果没有页面刷新,Netflix如何提交评级,而且没有JavaScript?

时间:2013-06-29 23:20:13

标签: html http

我正在尝试为我的网站做Netflix的5星评级系统,我注意到即使禁用了JavaScript,Netflix仍然会在没有页面刷新的情况下提交评级。这很明显,因为当您手动重新加载页面时,您可以看到新的评级。但是,在重新加载页面之前,更改不可见。

以下是Netflix上的链接示例:

<a href="http://movies.netflix.com/SetRating?value=5&pval=4.8&widgetid=M70186045_496624_2_36&authURL=1272123378738.TS7qzDVHSE6abcEeRPuqldimKYc%3C&section=QUEUE" class="rv5" tabindex="0" title='Click to rate the movie "Loved It"'>Rate 5 stars</a>

有人知道Netflix是如何做到的吗?

提示:如果您查看来源并进行搜索,则无法在任何地方找到“iframe”。 此外,它在JavaScript OFF时表现出这种行为。否则它将更新数据而不需要手动刷新。所以也没有AJAX。亲自检查一下,我相信很多人都有Netflix账号。

1 个答案:

答案 0 :(得分:9)

经过一番研究,我找到了我想要的答案。您可以通过从发送请求的页面发送HTTP响应204状态代码来执行此操作。例如,假设您将其发送到php脚本,请使用以下命令启动页面:

header("HTTP/1.0 204 No Response");

如上所述:http://php.net/manual/en/function.header.php#32569

  

如果您还没有使用,HTTP Response 204可以非常方便。 204告诉服务器立即终止该请求。如果您希望javascript(或类似)客户端功能执行服务器端功能而不刷新或更改当前网页,这将非常有用。非常适合更新数据库,设置全局变量等。

这就是我现在在脚本中使用的内容。