我有一个调用 JSON API 的脚本文件,我需要在调用过程中发送当前登录用户名。我尝试了以下:-
$(document).ready(function () {
var name = prompt("Please enter your packageid", "test");
var fullurl = 'http://localhost:8080/jw/web/json/workflow/process/list?j_username=kermit&hash=9449B5ABCFA9AFDA36B801351ED3DF66&loginAs=' + HttpContext.Current.User.Identity.Name + 'packageId=' + name;
$.ajax({
type: "GET",
url: fullurl,
dataType: "JSONP",
success: function (result) {
//code goes here
但它会引发以下错误:- 'HttpContext' is undefined
最佳答案
您的脚本正在寻找一个名为 HttpContext
的 Javascript 变量,您的代码应该是
@HttpContext.Current.User.Identity.Name
在 Razor 中
所以javascript变成了
var fullurl = 'http://localhost:8080/jw/web/json/workflow/process/list?j_username=kermit&hash=9449B5ABCFA9AFDA36B801351ED3DF66&loginAs=@HttpContext.Current.User.Identity.Name&packageId=' + name;
如果您打算将用户名和 packageId 设为单独的变量,则还缺少 &
编辑:根据您的评论和 js 文件中的内容(我想我在 OP 中遗漏了)
两种选择:
- 是将用户名保存在调用脚本文件的页面上的一个变量中。像这样:
页面
<script>
var usrName = "@HttpContext.Current.User.Identity.Name";
</script>
JS文件
....&loginAs='+ usrName + '&packageId=' + name;
选项二是根本不包含用户名,只是从操作中获取。只有当您要发布到的页面位于同一应用程序上时,这才是一个选项
关于javascript - 如何在我的 asp.net mvc 中的脚本文件中获取当前登录用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12820172/