我想从我的GitHub页面(theratcoder.github.io)收集用户的分数。我已经使用以下JS代码(嵌入在我的HTML文档中)来创建测验。
var score = 0;
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
sam-app
Sample SAM Template for sam-app
# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
Function:
Timeout: 3
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
Properties:
CodeUri: hello-world/
Handler: app.lambdaHandler
Runtime: nodejs8.10
Events:
HelloWorld:
Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api
Properties:
Path: /hello
Method: post
Outputs:
# ServerlessRestApi is an implicit API created out of Events key under Serverless::Function
# Find out more about other implicit resources you can reference within SAM
# https://github.com/awslabs/serverless-application-model/blob/master/docs/internals/generated_resources.rst#api
HelloWorldApi:
Description: "API Gateway endpoint URL for Prod stage for Hello World function"
Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/hello/"
HelloWorldFunction:
Description: "Hello World Lambda Function ARN"
Value: !GetAtt HelloWorldFunction.Arn
HelloWorldFunctionIamRole:
Description: "Implicit IAM Role created for Hello World function"
Value: !GetAtt HelloWorldFunctionRole.Arn
我想收集变量“分数”的值,以便了解人们通常如何进行测验。
答案 0 :(得分:0)
要做类似的事情,您需要做两件事,一种将数据获取到某种形式的存储的方法,以及存储本身。
除非发生了某些变化,否则github.io网站仅是静态内容,因此,没有后台运行的服务器可以从中访问存储并与之通信,只有静态内容由github.io服务提供,并且在用户的浏览器中运行。
所以基本答案是你不能。但这不是真的,而且如果您愿意采取粗鲁的做法,总会遇到麻烦。 (我想这只是为了好玩吗?)
在这种情况下,您可以在家中的计算机上运行服务器或其他方式。然后,当用户回答问题时,您便向家里的计算机上的服务器添加了一个呼叫,它将获取该数据并保存并根据需要进行汇总。
如果您想对此感到很奇怪,可以找到某种向您发送电子邮件的js软件包。唯一需要注意的是,您将需要包含电子邮件地址的凭据,该凭据将被发送给页面的每个用户(因此,您将密码和电子邮件提供给互联网上的任何人)。您可以使用试用版Azure帐户执行类似的操作,在该处使用存储,但同样会遇到信用问题,因此您肯定会受到一些欺骗的困扰。
但是,如果想存储有关用户的信息,那么一天结束时,您可能会想要拥有一个动态网站。
尽管,如果您确定的话,也许可以看一下:https://medium.com/pan-labs/dynamic-web-apps-on-github-pages-for-free-ffac2b776d45-类似于“将数据发送到您自己的计算机”步骤,但是使用了免费的firebase层。