我有一个本地工作正常的.js文件,但是当我提交并添加到我的服务器时,我有点路径问题。我有“Home”作为控制器名称,“LoadTable”作为JsonResult函数。
$(document).ready(function () {
$('#tableClick').click(function () {
$.post("Home/LoadTable", $('#FormTable').serialize(), function (data) {
alert("test");
}, 'json');
});
});
发布时我应该将路径名称改为其他名称吗?如果是这样,如果可能的话,如何在我的webconfig中从本地版本切换到服务器版本?
还有其他选择吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
在Val的帮助下,我能够提出以下建议。
var pathName = window.location.pathname;
if (pathName == "/") { pathName = ""; }
$.post(pathName + "Home/LoadTable", $('#FormTable').serialize(), function (data) {
alert("test");
}, 'json');
答案 2 :(得分:0)
永远不要对网址进行硬编码。处理网址时始终使用网址助手:
$.post(
'<%= Url.Action("LoadTable", "Home") %>',
$('#FormTable').serialize(),
function (data) {
alert('test');
},
'json'
);
另一种可能性是在您的页面上的某处有一个链接:
<%= Html.ActionLink("Load table", "LoadTable", "Home", null, new { @class = "loadTable" }) %>
你会AJAXify:
$(function() {
$('.loadTable').click(function() {
$.post(this.href, $('#FormTable').serialize(), function (data) {
alert('test');
}, 'json');
return false;
});
});