Jquery和Ajax调用无法正常工作

时间:2012-09-04 09:30:49

标签: asp.net-mvc-3

您好我正在尝试显示标签并尝试获取标签的数据,我的下面的代码我设法显示标签但我的控制器中没有调用我的GetManufacturerProductsForCountry操作。如果我的代码有问题,请纠正我。

   “%>
<%@ Import Namespace="EmsAdmin.Models" %>

    

    <% foreach (var country in ((Country[])ViewData["countries"]))
       { %>
    <li><a href="#">
        <%: country.Name %></a> </li>
    <% } %>
</ul>
<div class="panes">

    <% foreach (var country in ((Country[])ViewData["countries"]))
       { %>
    <div class="pane">
        <div style="clear: both;">
            &nbsp;</div>
    </div>
    <div id="ProductCountry<%:country.Id %>">
        <script type="text/javascript">
            var taskInput = "";
            $.ajax({
                url: "/Manufacturers/GetManufacturerProductsForCountry/"+<%:Model.Id %>+<%:country.Id %>,
                type: 'get',
              success: function (data) {
                    taskInput = data;
                    $("#ProductCountry").html(data);

                }
            });
        </script>
    </div>
    <% } %>
</div>

2 个答案:

答案 0 :(得分:0)

我建议在页面上调用ajax - 加载它们为每个插入html。太多的ajax调用可能不起作用,我相信那里存在限制。

如果这确实有效,那么您在“&gt;中的ID 与$(“#ProductCountry”)不匹配.html(数据);

另外,为了安全起见,你不能在MVC中默认执行ajax GET,而是用[HttpPost]修饰你的Controller方法,并在ajax调用中指定它。

答案 1 :(得分:0)

看起来jQuery对象中的id是错误的。

尝试

       $("[id*=" + "ProductCountry" + "]").html(data);

而不是

         $("#ProductCountry").html(data);