AJAX成功服务器端功能
AJAX Success Function on Server
这在我的开发机器上工作,但在生产服务器上不行。我试图用ajax更新一些div,但它们没有更新,虽然其他部分工作正常。我在服务器上使用IIS 6。当我用firebug在服务器端调试这段代码时,它没有碰到我添加到成功函数中的任何断点。
脚本:
function updateServiceInfo(nodeId) {
var id = { id: nodeId };
$.ajax({
url: '/ServiceInfo/ServiceInfoPartial',
type: 'GET',
data: id,
dataType: 'html',
success: function (data) {
$('#serviceInfoContent').html(data);
},
error: function (request, error) {
}
});
}
控制器:
public class ServiceInfoController : Controller
{
public ActionResult ServiceInfo()
{
return PartialView("ServiceInfo");
}
public ActionResult ServiceInfoPartial(string id)
{
return PartialView("ServiceInfoPartial");
}
}
视图:
serviceinfopartial
@model string
<p>
Немає опису</p>
serviceinfo
<div id="serviceInfo">
<div id="ContainerPanel" class="ContainerPanel">
<div id="serviceInfoHeader" class="collapsePanelHeader">
<div id="dvHeaderText" class="HeaderContent">
Опис сервісу</div>
<div id="dvArrow" class="ArrowClose">
</div>
</div>
<div id="serviceInfoContent" class="serviceInfoContent">
</div>
</div>
</div>
在控制台中返回的响应是
GET http://localhost/Managers/GetManagers?nodeId=563344 404 Not Found 42ms
ahhhhhhhhhhhh,另一个硬编码url:
url: '/ServiceInfo/ServiceInfoPartial',
永远不要在ASP中硬编码像这样的url。NET MVC应用程序。
总是使用url帮助来生成它们:
url: '@Url.Action("ServiceInfoPartial", "ServiceInfo")',
或者如果这是在一个单独的javascript文件中,你不能使用url帮助,只需在一些DOM元素上使用HTML5 data-*属性:
<div id="serviceInfo" data-url="@Url.Action("ServiceInfoPartial", "ServiceInfo")">
...
</div>
,然后在javascript中简单地:
url: $('#serviceInfo').data('url'),
你的代码不工作的原因,当你在IIS中托管它是因为在IIS中,你可能托管你的应用程序在一个虚拟目录,所以正确的url不再是/ServiceInfo/ServiceInfoPartial
,而是/YourAppName/ServiceInfo/ServiceInfoPartial
。这就是为什么您不应该硬编码任何url并使用帮助程序生成它们的原因=>这是因为帮助程序处理这种情况。使用helper的另一个好处是,如果你以后决定改变Global.asax
中路由的布局,你不需要修改所有的javascript文件等…您的url管理集中在一个位置
这对我有用,但只在Chrome 53中测试过:
在你的。cshtml文件中创建一些全局作用域变量,只是要注意作用域问题,并给你的变量起唯一的名字。
<script>
globalUrl = '@Url.Action("ServiceInfoPartial", "ServiceInfo")';
</script>
然后引用你的js文件…
<script type="text/javascript" src="yourJsFile.js"></script>
在你的yourJsFile.js:
url: globalUrl,
- 如何使用skip参数使用angular ui引导进行服务器端分页
- Webpack开发服务器和React服务器端渲染
- 提示使用服务器端事件处理程序激活JavaScript
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 将表单数据提交到服务器端
- 使用ajax的服务器端分页&jQuery
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 在Android中从signalR调用服务器端功能
- on单击触发服务器端功能
- RoR 服务器端功能 - 如何制作
- 单击按钮时执行客户端和服务器端功能 - 特定方案
- 服务器端Javascript是否有类似Java类路径的功能
- AJAX成功服务器端功能
- 传递信息到服务器端的功能在谷歌文档添加
- 调用服务器端功能,运行在我的网站后台
- 用javascript在asp.net中取消服务器端提交功能
- 在页面刷新时在服务器端功能期间显示加载图标
- 我如何从客户端调用服务器端按钮单击功能