我对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¶m2=6101&_=1498495699141
我的控制器很好看
public ActionResult SearchPart(string param1, string param2)
{
}
但是当我看一下URL时,会添加一个奇怪的参数:“& _ = 1498495699141”我不知道这个参数来自哪里。
有人可以帮忙吗? 感谢
雨果
答案 0 :(得分:0)
就像Sparrow所说的那样,你需要检查你的控制器动作是否高于[HttpPost]。如果它在那里,那么控制器不允许ajax,因为它的类型为“GET'。
除此之外我觉得很好。在浏览器中打开调试器 - >转到网络标签 - >点击导致ajax调用的动作事件 - >回头看调试器并点击最近的事件(ajax调用) - >转到网络标签 - >读下你的' params'和你的回应'说,然后我想我能够帮助你。
答案 1 :(得分:0)
我最终能够使它发挥作用: 从我需要改变的Ajax URL调用;
url: "../PartSelector/SearchPart",
到
url: "../SearchPart",
我无法理解为什么。
我想这与调用Ajax的方法不在同一个控制器中的事实有关,这个控制器有控制器页面。