簡體   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