如何使用Javascript $ .get调用ASP.NET MVC Action方法,然后打印返回值?

时间:2018-03-31 02:23:56

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

我有一个ASP.NET MVC Web应用程序,由一个View页面组成,要求用户在两个文本框中输入2种不同口味的冰淇淋。然后在模糊(当光标远离两个文本框时),然后调用$.get方法。如果用户在文本框中输入的2种冰淇淋口味是我最喜欢的组合,则IsFavoriteIceCreamCombo方法返回true。

[请注意,为简洁起见,此处未显示onblur逻辑]

以下是JavaScript代码的几个片段:

var iceCream1 = document.getElementById('#ice-cream-1');
var iceCream2 = document.getElementById('#ice-cream-2');

....

var result = $.get('@Url.Action("IsFavoriteIceCreamCombo", "IceCream")?option1=' + iceCream1.value + ';option2=' + iceCream2.value);

alert(result);

这是IceCreamController中的Action方法:

[WebMethod]
public bool IsFavoriteIceCreamCombo(string option1, string option2)
{
    if (...)
    {
        return true;
    }
    return false;
}

如何让alert(result)提醒函数中的bool返回值?

1 个答案:

答案 0 :(得分:2)

当您从浏览器拨打电话到服务器时,您必须等待回复。您可以通过将回调函数传递给JQuery来完成此操作。 JQuery接收回调函数并在收到回复时将其执行,并将回复作为回调函数参数传递。

尝试为初学者硬编码端点。

$.get("/YourEndpoint", function(data) {
  alert("Reply: " + data);
});