调用引用的控制器在ajax中工作但不在参数中工作

时间:2014-10-13 21:05:19

标签: jquery asp.net-mvc parameters asp.net-ajax

我有一个ASP MVC应用程序,在项目中,我引用另一个ASP MVC应用程序。在引用的应用程序中,我有一个看起来像这样的控制器:

public class FreddyController : Controller {
    public string Boo( ) {
        return "Eek!";
    }
}

在运行主应用程序时,我可以调用引用的控制器,它会给我一个" Eek!"

而且,当我在Ajax中尝试相同的调用时,使用它:

$.ajax({
    url: "/Freddy/Boo",
    asynch: false,
    cache: false,
    type: "get",
    error: function (msg) { alert(msg); },
    complete: function (xhr, status) { }
});

它也可以正常工作,但当我更改它以添加参数时,如下所示:

$.ajax({
    url: "/Freddy/Boo",
    asynch: false,
    dataType: "json",
    cache: false,
    type: "get",
    data: { resp: 'Eek!' },
    error: function (msg) { alert("Doh!"); },
    success: function (data) { alert(data); },
    complete: function (xhr, status) { alert("Phew...") }
});

引用的控制器:

public string Boo(string resp) { ...

失败并调用错误函数......不确定原因。我在这里遗漏了什么明显的东西吗?

1 个答案:

答案 0 :(得分:0)

好吧,我想我找到了为什么失败的答案。唯一的问题是,这个答案引起了我的更多问题。我会在其他地方发布这个问题,但与此同时,无论出于何种原因,只有在javascript中的某个地方有一个preventDefault才能生效...