以下代码存在于名为 job.js 的文件中。当我对localhost运行此代码时,一切正常。当我对我的内部网服务器这样做时,有一个应用程序名称,我得到404.
Job.updateJob = function () {
$.post('/Builder/ListJobItems', function (data) {
...
});
}
我很想使用@Url.Action()
,但我说这是javascript(.js)文件。我也知道你将数据值放在body元素上的hack,但出于体系结构的原因,我希望这个代码与DOM分离。它是一个数据采集引擎,为什么它甚至应该知道DOM是什么。
我会以一种以某种方式解析window.location
的解决方案,但我遇到的问题是我需要一个适用于所有地方的解决方案。
最令我沮丧的是,我无法看到这不是每个人都会遇到的问题。为什么没有解决方案?每个人都把他们所有的JavaScript放入剃刀视图吗?没有人再将代码隔离到模块中吗?我无法相信其中任何一个都是真的,但似乎没有任何即将到来的解决方案。我很茫然。
答案 0 :(得分:0)
当我在js文件中需要来自服务器端的数据时,我做了什么。
我创建了Action,并使用JS内容进行查看。而是包括job.js我称之为我的行动
<script type="text/javascript" src="@Url.Action("Job","JSController")"/>
在视图中我设置了所有内容,例如
Job.updateJob = function () {
$.post('@Url.Action("ListJobItems","Builder")', function (data) {
...
});
}
这将有效。