如何从javascript文件中将AJAX发布到MVC操作?
以下代码存在于名为job.js的文件中。当我在本地主机上运行此代码时,一切都正常运行。当我对我的内联网服务器这样做时,其中有一个应用程序名,我得到一个404如何从javascript文件中将AJAX发布到MVC操作?,javascript,ajax,asp.net-mvc,Javascript,Ajax,Asp.net Mvc,以下代码存在于名为job.js的文件中。当我在本地主机上运行此代码时,一切都正常运行。当我对我的内联网服务器这样做时,其中有一个应用程序名,我得到一个404 Job.updateJob = function () { $.post('/Builder/ListJobItems', function (data) { ... }); } 我很想使用@Url.Action,但正如我所说,这是一个javascript.js文件。我也知道在body元素上添加数据值的黑
Job.updateJob = function () {
$.post('/Builder/ListJobItems', function (data) {
...
});
}
我很想使用@Url.Action,但正如我所说,这是一个javascript.js文件。我也知道在body元素上添加数据值的黑客行为,但出于架构原因,我希望此代码与DOM解耦。它是一个数据采集引擎,为什么它甚至应该知道DOM是什么
我可以使用某种方式解析window.location的解决方案,但我遇到的问题是,我需要一个在任何地方都能工作的解决方案
最让我沮丧的是,我看不出这不是每个人都会面临的问题。为什么没有解决办法?每个人都只是把他们所有的JavaScript放到razor视图中吗?没有人再将代码隔离到模块中了吗?我不相信这两个都是真的,但似乎没有任何解决办法。我不知所措。当我需要从js文件的服务器端获取数据时,我做了什么 我创建动作,并使用JS内容进行查看。而是包括job.js,我调用我的操作
<script type="text/javascript" src="@Url.Action("Job","JSController")"/>
这就行了。像Job.updateJob=function url这样的工具怎么样{?也许你从哪里打电话叫razor,或者打电话的地方叫razor;回溯到足够远的地方,事情必须是对的?我做这类事情,没有问题。你的内联网服务器配置错误?路由问题?@zgood,我在我的问题中说了为什么。在本地主机上,我没有应用程序名。在intera上net服务器。当对该服务器调用url“/Builder/ListJobItems”时,它应该是“/MyApplication/Builder/ListJobItems”。在这两种情况下我都需要此代码。@Jordan oh一定错过了这一部分。这是一种非常有趣的方法。我不知道您可以使用JavaScript控制器。这样的操作会是什么样子?我我必须做一些研究,但我认为这正是我需要的。没有JavaScript控制器,它的ordinarycontroller在action视图中不包含HTML,只包含JavaScript,与服务器上的.js文件相同。有没有办法让razor视图使用js语法而不是HTML?
Job.updateJob = function () {
$.post('@Url.Action("ListJobItems","Builder")', function (data) {
...
});
}