Jquery 为什么不是';单击我的按钮时,我的局部视图不会被渲染吗?

Jquery 为什么不是';单击我的按钮时,我的局部视图不会被渲染吗?,jquery,asp.net,ajax,asp.net-mvc,asp.net-core,Jquery,Asp.net,Ajax,Asp.net Mvc,Asp.net Core,目标是加载部分视图而不刷新整个页面,只刷新部分视图本身,当我这样做时,我希望传递到视图中的模型int递增 但当我试图通过按下按钮加载视图时,它会显示 XML Parsing Error: no root element found Location in Console 这很有趣,因为在控制台中它还输出 <h1>Hello from _Items partial view. + 1</h1> 使用以下内容: $.ajax({ url: &qu

目标是加载部分视图而不刷新整个页面,只刷新部分视图本身,当我这样做时,我希望传递到视图中的模型int递增

但当我试图通过按下按钮加载视图时,它会显示

XML Parsing Error: no root element found Location in Console
这很有趣,因为在控制台中它还输出

<h1>Hello from _Items partial view. + 1</h1>
使用以下内容:

 $.ajax({
            url: "Home/LoadView",
            type: 'GET',
            success: function (response) {
                console.log("Did it get called is the question..");
                console.log("Response: " + response);
                $(".text-center").html(response);
            }
        });

load()方法从服务器加载数据,即如果要从任何文件加载数据,则可以使用load()。但是,当您从部分视图获取数据时,部分视图会返回需要添加到所选div中的HTML文档。因此,无论何时使用部分视图,请尽量避免使用load()。

正如@Rutuja所说,您需要将
.load()更改为.HTML()
方法来解决当前问题

另外,我发现您使用变量
I
来显示 点击次数

如果要根据次数增加
i
单击加载,则当前方法无法实现, 它将始终仅显示
1

因为每次单击
Load
按钮时,您都在重新输入整个控制器的
LoadView
方法,因此
i
将被重新分配默认值0,而不是基于以前的数据进行叠加

为了获得点击次数,我建议您将I变量值从js传递到LoadView,如下所示:

<script>
        var i = 0;
        function LoadInfo() {
            i++;
            $.ajax({
                url: "Home/LoadView?i=" + i,
                type: 'GET',
                success: function (response) {
                    console.log("Did it get called is the question..");
                    console.log("Response: " + response);
                    $(".text-center").html(response);
                }
            });
        }
    </script>
结果如下:


您能解释一下.load()和.html()之间的区别吗?load()方法从服务器加载数据,即,如果您想从任何文件加载数据,则可以使用load()。但是,当您从partial view获取数据时,partial view会返回HTML文档,您需要将其添加到选定的div中。因此,无论何时使用partial view,请尽量避免使用load()。哦,对不起,我想让你把它放在你的答案中,这样其他任何有同样问题的人都能清楚地看到,并且不理解你的代码工作和OG代码不工作的原因。我代表你做了编辑。如果批准的话应该会出现。
int i = 0;
[HttpGet]
public IActionResult LoadView()
{
    i++;
    return PartialView("_Items", i);
}
 $.ajax({
            url: "Home/LoadView",
            type: 'GET',
            success: function (response) {
                console.log("Did it get called is the question..");
                console.log("Response: " + response);
                $(".text-center").html(response);
            }
        });
<script>
        var i = 0;
        function LoadInfo() {
            i++;
            $.ajax({
                url: "Home/LoadView?i=" + i,
                type: 'GET',
                success: function (response) {
                    console.log("Did it get called is the question..");
                    console.log("Response: " + response);
                    $(".text-center").html(response);
                }
            });
        }
    </script>
       [HttpGet]
        public IActionResult LoadView(int i)
        {
            return PartialView("_Items", i);
        }