私は eLearning システムを作成しました。現在、Rustici が作成した Javascript ライブラリを使用して tincanapi を統合しようとしています。MVC コントローラーから JavaScript メソッドを呼び出すことができるかどうか疑問に思っています。Web ビューで、次のコードを使用して tincan ステートメントを作成します。
<script type="text/javascript" src= "@Url.Content("~/Scripts/tincan.js")"></script>
var tincan = new TinCan
(
{
recordStores: [
{
endpoint: "https://cloud.scorm.com/tc/V4FF9VBCSY/",
username: "myusername",
password: "mypassword"
}
]
}
);
function AcceptFriend(fullName,emailAddress)
{
tincan.sendStatement
(
{
actor: {
name: "@Model.User.Forename" + " @Model.User.Surname",
mbox: "@Model.User.Email"
},
verb: {
id: "http://adlnet.gov/expapi/verbs/answered",
display: {
"en-US": "accepted a friend request from"
}
},
target: {
objectType: "Agent",
name: fullName,
mbox: emailAddress
}
}
);
};
このコードは、非常にうまく機能している友達リクエストの承認ボタンをクリックすると呼び出されます。
しかし、ユーザーがいつコースをアップロードしたかを追跡したいのですが、もちろんフォームの送信時にこれを行うことができますが、アップロードが成功したかどうかわからないので、これらの呼び出しを可能であればコントローラーのアクション。これはできますか?このコード内で上記と同様のステートメントを呼び出すにはどうすればよいですか。
public ActionResult NewCampaign()
{
evm.GetCampaignTypes();
evm.GetCampaignFormats();
evm.GetCampaignTemplates();
//Set ViewBag values.
ViewBag.UserID = evm.User.UserID;
ViewBag.NewMessageCount = evm.NewMessageCount;
ViewBag.PendingFriendRequests = evm.PendingFriendRequests;
ViewBag.NewFriendRequest = evm.NewFriendRequest;
ViewBag.NewFriendCount = evm.NewFriendCount;
ViewBag.UserForename = evm.User.Forename;
return View(evm);
}