MVC无效的URL参数

时间:2017-06-26 17:06:02

标签: javascript c# ajax asp.net-mvc-4

我对ASP和Javascript的经验很少。

我正在开发一个ASP.NET MVC5项目,我遇到了Ajax调用方法的问题 Jax调用是这样的:

        $.ajax({
            data: { 'param1': param1Id, 'Param2': param2Id},
            datatype: "json",
            type: "GET",
            url: "../PartSelector/SearchPart",
            cache: false,
            success: function(data) {
                $('#SearchPart').html(data);
            }

        });

但我一直在收到错误 HTTP404:INTROUVABLE - 对应的URI(统一资源标识符)需求的服务。 (XHR)GET - http://localhost:10473/Locator/PartSelector/SearchPart?param1=CR00061752&param2=6101&_=1498495699141

我的控制器很好看

public ActionResult SearchPart(string param1, string param2)
{

}

但是当我看一下URL时,会添加一个奇怪的参数:“& _ = 1498495699141”我不知道这个参数来自哪里。

有人可以帮忙吗? 感谢

雨果

2 个答案:

答案 0 :(得分:0)

就像Sparrow所说的那样,你需要检查你的控制器动作是否高于[HttpPost]。如果它在那里,那么控制器不允许ajax,因为它的类型为“GET'。

除此之外我觉得很好。在浏览器中打开调试器 - >转到网络标签 - >点击导致ajax调用的动作事件 - >回头看调试器并点击最近的事件(ajax调用) - >转到网络标签 - >读下你的' params'和你的回应'说,然后我想我能够帮助你。

答案 1 :(得分:0)

我最终能够使它发挥作用: 从我需要改变的Ajax URL调用;

url: "../PartSelector/SearchPart",

url: "../SearchPart",

我无法理解为什么。

我想这与调用Ajax的方法不在同一个控制器中的事实有关,这个控制器有控制器页面。