2017-04-11 29 views
0

我有表記錄獲得通過AJAX和DIV(ASP.NET)顯示所有值

我需要通過按鈕來顯示DIV中的所有記錄

我有這樣的AJAX調用這樣

<script> 
    $('#save_quest').click(function() { 
    email_update(); 
}); 

function email_update() { 
    $.ajax({ 
     url: '@Url.Action("EmailsList", "Questions")', 
     contentType: 'application/json; charset=utf-8', 
     //data: JSON.stringify(model), 
     type: 'POST', 
     dataType: 'json', 
     processData: false, 
     success: function(data) { 
      var question1 = data[0]; 

      $(".email_list") 
       .append(
        '<div class="testing666" style="width:80%;font-size:20px;margin-top:15px;border-style: solid;border-color:#ffcf00;border-radius: 5px;margin: 10px auto 0;;">' + 
        question1 + 
        '</div>'); 
      var divs = document.getElementsByTagName('div'); 

      for (i = 0; i < divs.length; i++) { 
       if (divs[i].innerHTML == "") { 
        divs[i].style.display = 'none'; 
       } 
      } 
     } 
    }); 
} 
</script> 

這裏是控制器(更新)

[HttpPost] 
    public ActionResult EmailsList() 
    { 
     var items_email = db.InvitationMails 
      .Select(x=> new 
      { 
       Email = x.To.ToString(), 
       Name = x.Name.ToString(), 
      }) 
      .ToList(); 
     return Json(items_email, JsonRequestBehavior.AllowGet); 
    } 

我需要寫在這裏,根據所有的數據顯示控制器選擇

//data: JSON.stringify(model) 
+0

那麼,這裏有什麼問題?您是從控制器獲取數據還是從控制器獲取任何數據? – ProgrammerV5

+0

我更新了我的帖子@ ProgrammerV5 – Eugene

+0

不過,您已經更新了控制器代碼。控制器是否被擊中(我的意思是,你知道控制器是否被擊中嗎?你是否在控制器的開頭放了一行代碼並檢查AJAX調用是否正在運行並正確地擊中控制器?有幾個可能出錯的事情,AJAX調用可能被錯誤地設置,控制器可能不會被調用,控制器可能不會返回正確的數據,AJAX調用可能不會解釋控制器返回的數據 – ProgrammerV5

回答

0

在控制器中,您沒有參數。所以你不需要傳遞任何數據的Ajax。

+0

我更新了我的帖子 – Eugene

0

我們需要更多的信息。打開瀏覽器工具並測試請求。你看到了什麼?什麼是迴應?您的請求是否被路由到正確的控制器?控制器沒有響應嗎?到底是怎麼回事?您的求助請求太模糊,實際上無法幫助。

如果你沒有發送任何數據,你爲什麼使用POST?如果您不打算髮送任何數據,只想獲得EmailsList,則使用GET,並將[HttpPost]屬性更改爲[HttpGet]。如果您想使用POST,請刪除JsonRequestBehavior.AllowGet。如果您實際上不需要公開它,則沒有任何用於公開GET的用途。你的控制器方法不需要任何參數,所以簡單的get就可以。