我正在尝试将Controller中的ViewData的值分配给前端中的JavaScript变量;然后将该变量添加到AJAX URL API调用中。
这是我到目前为止所拥有的:
public ActionResult Index()
{
ViewData["xTokenBackEnd"] = "IAMATOKEN";
return View();
}
var xTokenFrontEnd = @Html.Raw(Json.Encode(ViewData["xTokenBackEnd"]));
$.ajax({
type: 'GET',
url: 'https:&token=' + xTokenFrontEnd,
dataType: 'json'
}).done(function (result) {})
运行该应用程序时,我可以看到该变量的字符串位于URL的末尾,即https:&token=IAMATOKEN
,但是,我仍然没有通过ajax接收任何信息。奇怪是因为该值位于URL的末尾,但是几乎没有任何实际值。也许我需要进行转换?如果我取出变量xTokenFrontEnd并输入实际值IAMTOKEN,则一切正常,因此我认为错误是我将xTokenFrontEnd添加到URL末尾的方式,但不确定。有关如何解决此问题的任何想法?
答案 0 :(得分:0)
在您的视图中,获取值并分配给变量-例如:
string token = ViewData["xTokenBackEnd"];
然后使用以下变量示例创建隐藏字段:
@Html.Hidden("hfToken", @token)
然后您可以使用以下方法从jquery调用此值:
$('#hfToken').val();
最后在ajax调用中使用此值