我是js的新手,现在尝试将HTML5 AJAX File Uploader Module集成到我的ASP.NET MVC项目中。

在我的项目中,有一个ViewBag.UserID,在视图中,我使用模块中的脚本:

<script type="text/javascript" data-main="/scripts/main" src="/Scripts/require.js"></script>


我想我可以使用上面的脚本将UserID传递给main.js,以便可以使用类似

var UserID;

html5Upload.initialize({
    // URL that handles uploaded files
    uploadUrl: '/file/upload?Userid=' + UserID,

    ...
    });


但是...我该怎么做呢?

最佳答案

您可能需要一些引导代码,以将服务器端全局变量集成到您的javascript中。例如。:

<script>
(function(myNamespace) {
  "use strict";

  myNamespace.UserInfo = {
    UserID: '@ViewBag.UserID' // injects viewbag info into javascript
  };

}(window.myNamespace = window.myNamespace || {}));
</script>


现在,您拥有的任何javascript都可以访问全局myNamespace变量的UserInfo属性,该属性包含viewbag数据。例如:

uploadUrl: '/file/upload?Userid=' + myNamespace.UserInfo.UserID,

关于javascript - 将ViewBag数据传递给requirejs或删除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37696328/

10-12 00:17
查看更多