繁体   English   中英

jquery.get函数的url参数

[英]jquery.get function url parameter

在jquery.get()函数中,第一个参数是URL,即我要检索的内容或Controller / action方法的URL。

问题是我正在构建一个asp.net-mvc应用程序,但我不确定该参数传递什么。 现在,我正在传递我的partialview.cshtml,但没有返回任何内容,不确定我是对还是错。

这就是我得到的

<div id="editor_box"></div>
<button id="add_button">add</button>

<script>
var inputHtml = null;

var appendInput = function () {
    $("#add_button").click(function() {
        if (!inputHtml) {
            $.get('AddItem.cshtml', function (data) {
                inputHtml = data;
                $('#editor_box').append(inputHtml);
            });
        } else {
            $('#editor_box').append(inputHtml);
        }
    })
    };
</script>

另外,第二个参数“功能(数据)”是什么动作方法?

$.get的第一个参数是将以预期数据响应的URL。 jQuery / JavaScript不在乎您拥有哪种服务器端体系结构或脚本语言。 URL是看起来像文件AddItem.cshtml还是友好的路由(例如/User/Sandeep ,就客户端而言,这无关紧要。

对于ASP.NET,可以这样生成您的URL端点:

$.get('@Url.Action("SomeAction", "SomeController")', function (data) {

您需要从脚本中删除var appendInput = function () { 您正在定义一个函数,但从未调用它。 只需使用以下(更新操作和控制器)名称

<script>
  var inputHtml = null;
  $("#add_button").click(function() {
    if (!inputHtml) {
      $.get('@Url.Action("SomeAction", "SomeController")'', function (data) {
        inputHtml = data;
        $('#editor_box').append(inputHtml);
      });
    } else {
      $('#editor_box').append(inputHtml);
    }
  });
</script>

编辑

根据您的脚本,您似乎只需要一次内容(然后将其缓存并在随后的单击中再次添加。另一种方法是首先将内容呈现在隐藏的<div>元素内,然后在脚本中克隆内容<div>并将其附加到DOM

<div id="add style="display:none">@Html.Partial("AddItem")</div>

$("#add_button").click(function() {
  $('#editor_box').append($('add').clone());
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM