我想让我的用户创建他们自己的投票,这样他们就可以将我的代码粘贴到他们网站的某个地方,并且用户可以给他们自己的游戏角色评分(1-5 星评分)。
我想为此目的使用 jQuery 或 javascript,但我不知道如何开始开发类似的东西。它应该不会以任何方式被欺骗,所以我想将投票记录存储在我的数据库表(MySQL)中。
您可能对这个案例有一些经验,所以我正在等待您的建议。
我想让我的用户创建他们自己的投票,这样他们就可以将我的代码粘贴到他们网站的某个地方,并且用户可以给他们自己的游戏角色评分(1-5 星评分)。
我想为此目的使用 jQuery 或 javascript,但我不知道如何开始开发类似的东西。它应该不会以任何方式被欺骗,所以我想将投票记录存储在我的数据库表(MySQL)中。
您可能对这个案例有一些经验,所以我正在等待您的建议。
简而言之,这就是我要做的事情
首先,您将在某个地方托管一个 javascript 文件和星星的图像,最好是在 CDN 上。
其次,您需要设置一个可以通过 JSONP 发送和接收数据的 php 文件(或 java 或 ruby 或任何您喜欢的服务器端)。
从这里您要求您的用户在文档头中简单地包含远程 javascript 文件,并div
在页面上使用特殊类来表示该星级评定者(对于本示例.star
)。
任务:
Javascript:使用您的星图填充所有实例<div class="star"></div>
并进行设置。
Javascript:通过带有完整标识符的 JSONP 从服务器请求当前评分平均数(参见步骤 4)。
PHP:使用标识符查找到目前为止的预定平均星级,以 JSON 形式返回当前平均评分。如果未找到,则在 JSON 中返回“未评级”状态。
Javascript:样式星号,使它们看起来都正确,或者显示从 ajax 接收到的当前评分平均值,或者显示未评分状态。
Javascript:设置基本行为(悬停样式更改等)
Javascript:创建与星星的点击事件绑定。当用户单击时,您必须通过 AJAX JSON 向服务器发送有关评级的信息。此信息需要包括评分本身以及评分者的 url 和任何其他标识符。
就像是:
{
url : 'http://endUsersite.com/pagetoberated.html',
starId : 'pictureOfBillMurray',
rating : 4,
raterIP : 192.168.1.130
date : UTCstringhere
}
Javascript:重新设计以显示正在进行的评级并防止未来的 ajax 被点击。
PHP:捕获 JSON,处理并将其存储在 mySQL 中
PHP:成功存储后,使用 JSON 响应 ajax 调用,说明评级成功
Javascript:在获得 JSON 的“成功响应”后,样式星显示成功评级。
PHP:处理评级以确定新的平均值。
您很可能还希望在服务器端实施某种计时系统,以防止来自同一 IP 地址的垃圾评级。
显然你不会看到他们的服务器端代码,但至少你会看到客户端接收-存储-计算-发送的内容。