ASP.Net MVC 3 VB.Net Ajax请求给我一个403禁止错误

时间:2014-03-20 19:28:36

标签: asp.net-mvc-3 razor

我一直试图通过我的vbhtml页面进行Ajax调用,而我似乎无法让它运行起来。我现在一直在研究我的问题,但我似乎无法找到答案,也许是因为我实际上并不知道该问什么。

在我的代码中,我尝试从DataTables.net发送在DataGrid中选择的值,以便我可以检索与选择相关的信息并将其放在一些文本框中。

无论如何,我在做ajax时遇到了403错误的错误

这是我的观看代码

 function ShowInfos(selected) {
        $.ajax({
            type: "POST",
            url: "/Controllers/TelephonieController.vb/Show",
            data: '{nomEcran: "' + selected + '" }',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: OnSuccess,
            failure: function (response) {
                alert(response.d);
            }
        });
    }

这是我的控制器代码

<System.Web.Services.WebMethod()> _
    Public Shared Function Show(nomEcran As String) As String

        Return "allo"

    End Function

(对不起它有点法语)

这是它给我的错误

POST http://localhost:4390/Controllers/TelephonieController.vb/Show 403 (Forbidden) 

我刚开始使用网络,所以我可能会成为一个新手,但是我已经在网上查了一下,人们一直在说取出ContenType或DataType,我已经完成了两者,我甚至尝试使用数据发送和清空String,但我似乎无法使其工作。

有点偏离主题,我尝试了另一种方式doign ajax,正是这样:http://msdn.microsoft.com/en-us/library/dd381533(v=vs.100).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2 问题是我似乎无法理解我应该如何发送或者可以向控制器发送javascript变量。

如果某人有更好的做事方式而不是我现在正在做的事情,请随时发表评论,以便我可以学习。

1 个答案:

答案 0 :(得分:0)

当您使用asp.net mvc3时,可以尝试@Url.Action(...

  url: "@Url.Action('Telephony','Show')",

您只需提供控制器和操作名称即可。不知道你为什么在url中使用TelephonieController.vb这个不是web表单。

虽然我没有vb的经验,但仍然觉得vb会像c#

那样工作