Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 发布后ASP.NET MVC 5 Ajax控制器调用不起作用_Javascript_Jquery_Asp.net_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript 发布后ASP.NET MVC 5 Ajax控制器调用不起作用

Javascript 发布后ASP.NET MVC 5 Ajax控制器调用不起作用,javascript,jquery,asp.net,ajax,asp.net-mvc,Javascript,Jquery,Asp.net,Ajax,Asp.net Mvc,我一直在开发一个ASP.NET MVC 5 web应用程序,其中包含一个包含Raphael javascript图像的视图,该图像使用AJAX调用controller方法来获取初始渲染的一些数据。当我在自己的机器上本地呈现页面时,一切都按预期执行,页面加载良好。但是,当我将应用程序“发布”到测试服务器时,每次尝试加载页面时,AJAX调用都会命中“Error”函数 经过一些研究,我通过将此标记添加到布局页面,解决了一些javascript错误: <meta http-equiv="X-UA-

我一直在开发一个ASP.NET MVC 5 web应用程序,其中包含一个包含Raphael javascript图像的视图,该图像使用AJAX调用controller方法来获取初始渲染的一些数据。当我在自己的机器上本地呈现页面时,一切都按预期执行,页面加载良好。但是,当我将应用程序“发布”到测试服务器时,每次尝试加载页面时,AJAX调用都会命中“Error”函数

经过一些研究,我通过将此标记添加到布局页面,解决了一些javascript错误:

<meta http-equiv="X-UA-Compatible" content="IE=Edge">
}

如果需要更多信息,请告诉我

更新


这个问题实际上与网站的命名方式有关——它需要格式化为。最后,我不得不拆分路径名以说明/location位,并在脚本的开头构建URL。可能不是一个理想的情况,但它对我的情况很好

您的

"url: "/Home/GetESN",
在web服务器上的url比在本地服务器上的url不正确

尝试添加

<script>    
        rootUrl = '@Url.Content("~")'
</script>

有可能你的

"url: "/Home/GetESN",
在web服务器上的url比在本地服务器上的url不正确

尝试添加

<script>    
        rootUrl = '@Url.Content("~")'
</script>

有两种方法可以实现这一点

选择1

在ajax调用中更改url,如下所示:

    url: @Url.Action("GetESN", "Home")
选择2

如果要避免使用razor标记帮助程序,这是最好的选择

在项目上单击鼠标右键,然后选择“属性”

在属性中,选择名为Web的链接

在Web链接的“查找项目Url”字段中

在项目Url中,为项目设置名称,如下例所示

   Example:- http://localhost:1851/TestApp/
设置项目名称后,请选择“创建虚拟目录”

在ajax调用中,按如下所示设置url

   Example:- url: "TestApp/Home/GetESN"
最后,确保以相同的名称发布项目。示例:-TestApp


有两种方法可以实现这一点

选择1

在ajax调用中更改url,如下所示:

    url: @Url.Action("GetESN", "Home")
选择2

如果要避免使用razor标记帮助程序,这是最好的选择

在项目上单击鼠标右键,然后选择“属性”

在属性中,选择名为Web的链接

在Web链接的“查找项目Url”字段中

在项目Url中,为项目设置名称,如下例所示

   Example:- http://localhost:1851/TestApp/
设置项目名称后,请选择“创建虚拟目录”

在ajax调用中,按如下所示设置url

   Example:- url: "TestApp/Home/GetESN"
最后,确保以相同的名称发布项目。示例:-TestApp


查看network选项卡,可以看到jQuery实际上加载在~/Scripts/jQuery-1.10.2.min.js。另外-可能有些文件不是发布配置文件的一部分。您是否检查了操作是否已执行,例如使用fiddler。此外,您可以使用IE或chrome的开发工具F12查看javascript错误……您是使用捆绑还是手动将脚本标记添加到布局中?查看网络选项卡,查看jQuery实际上加载在~/Scripts/jQuery-1.10.2.min.js。另外-可能有些文件不是发布配置文件的一部分。您是否检查了操作是否已执行,例如使用fiddler。此外,您可以使用IE或chrome的开发工具F12查看javascript错误……您是使用捆绑还是手动将脚本标记添加到布局中?