hen*_*mao 2 ajax asp.net-mvc jquery
我试图用AJAX调用MVC Controller动作传递一些参数.
我有时在这个应用程序中这样做,它工作正常.
我不知道为什么只有这一个不起作用.
function excluirDetalhe(button, tab) {
var index = $(button).closest('tr').index();
var myTable = document.getElementById(tab);
var id = myTable.rows[index].cells[0].innerHTML.trim();
$('#' + tab + ' tr:eq(' + index + ')').remove();
$.ajax({
traditional: true,
url: "entidades/gravaCookie",
type: 'post',
data: { id: id, detalhe: "E" },
error: function (jqXHR, textStatus, errorThrown) {
alert(errorThrown);
}
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的控制器方法:
public void gravaCookie(string id, string detalhe)
{
string key = "een_id";
if (detalhe.Equals("E"))
key = "een_id";
if (detalhe.Equals("C"))
key = "eco_id";
if (detalhe.Equals("B"))
key = "eba_id";
cookie.Values.Add(key, id);
}
Run Code Online (Sandbox Code Playgroud)
只是提醒我,我正在做的其他Ajax调用,但只有这一个特别是不起作用.
有谁有想法吗?
始终使用Url.Action
或Url.RouteUrl
html辅助方法来构建操作方法的URL.无论您当前的页面/路径如何,它都会正确构建网址.
假设您的js代码在剃刀视图中,您可以直接使用Url.Actio
n方法并将其分配给您的js变量.
url: "@Url.Action("gravaCookie","entidades")",
Run Code Online (Sandbox Code Playgroud)
应该假设你有这样的动作方法
[HttpPost]
public ActionResult gravaCookie(string id,string detalhe)
{
// to do : Return something
}
Run Code Online (Sandbox Code Playgroud)
如果你的javascript在一个单独的javascript文件中,你可以使用上面的帮助器方法在你的剃刀视图中构建url,并将它保存在外部js文件代码可以访问的变量中.这样做时务必确保使用javascript命名空间,以避免全局javascript变量可能出现的问题.
@section Scripts
{
<script>
var myApp = myApp || {};
myApp.Urls = myApp.Urls || {};
myApp.Urls.baseUrl = '@Url.Content("~")';
myApp.Urls.gravaCookieUrl = '@Url.Action("gravaCookie","entidades")';
</script>
<script src="~/Scripts/PageSpecificExternalJsFile.js"></script>
}
Run Code Online (Sandbox Code Playgroud)
在你的PageSpecificExternalJsFile.js
文件中,你可以像读取它一样
var urlToGrava= myApp.Urls.gravaCookieUrl
// Or With the base url, you may safely add the remaining url route.
var urlToGrava2= myApp.Urls.baseUrl+"entidades/gravaCookie";
// Use urlToGrava now
Run Code Online (Sandbox Code Playgroud)
编辑
如果您只关心网站的根/基本网址,则可以将其/
用作网址的第一个字符.
var urlToGrava2= "/entidades/gravaCookie";
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5015 次 |
最近记录: |