无法使用jQuery调用JSON结果 - javascript

C#和jQuery,

我有两个下拉列表(类别和产品),并且必须根据类别更改产品列表。

  @Html.DropDownList("categoryId", new SelectList(ViewBag.Category, "Id", "Name"), "Select Parent Category", new { @class = "form-control categorydata" })      
  @Html.DropDownList("productId", new SelectList(ViewBag.Product, "Id", "Name"), "Select Product", new { @class = "form-control product-list" })      

我正在编写以下控制器来获取产品列表。

    [HttpGet]
    public JsonResult GetProducts(int categoryId)
    {
        int tot = new Products().Total;
        int cont = 1;
        Category cat = new Category(2);
        var products = new Products(cont, tot, cat);
       // ViewBag.products = new Products(1,new Products().Total,new Category(categoryId));
        return Json(products);
    }

我的jQuery是

$('.categorydata').change(function () {
    var selCat = $(".categorydata").val();
    var url = "~/Add/GetProducts";   
    if (selCat.length != 0) {           
        $.get(url, { id: SelCat }, function (data) {
            alert(data);
        });
    }       
});

此jQuery未调用控制器,因此无法获取数据。

请帮我解决。

参考方案

您应该将json数据中的属性名称与action方法的参数名称相同。

$.get(url, { categoryId : SelCat }, function (data) {

请参考SO Post。

javascript popupwindow之后的行如何工作? - javascript

好的,我有一个来自后面代码的方法,可以创建一个popupwindow。然后有一行代码要在那之后执行,我想知道那行代码何时执行,是在使用popupwindow之后执行还是在创建popupwindow之后执行?例如:void exPopupWindowMethod() { string scr = "window.open('exampleP…

ddl在服务器中未更新-asp.net - javascript

我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……

Javascript和Python JSON-未定义变量 - javascript

例如,如果您具有以下JSON对象(删除python的分号):values = { a: 1, b: { c: 2, d: { e: 3 } }, f: 4, g: 5 }; 如果您尝试在JS中打印values,它将正常工作。但是在Python中,它将返回错误NameError: name 'a' is not defined,这意味着未定…

.NET C#Webbrowser填充输入,不带ID或类名 - javascript

我需要在网络浏览器中填写一个输入,但这不起作用。我认为必须使用name属性来完成,但是怎么做呢?foreach (HtmlElement login in webBrowser1.Document.GetElementsByTagName("input")) { if (login.GetAttribute("name"…

Javascript-Urls的奇怪字符串比较行为 - javascript

最近,在编写我无法理解的javascript时遇到了字符串比较的问题。我从完全相同的网址创建了两个字符串,当我比较它们时返回false,但是在重新分配相同的字符串后,比较返回true。这是我的示例:var str1 = "http://google.com/"; var str2 = "http://google.com‏/&#…