Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jquery之后更新HTML页面。单击_Javascript_Jquery_Html_Asp.net_Asp.net Mvc - Fatal编程技术网

Javascript 在jquery之后更新HTML页面。单击

Javascript 在jquery之后更新HTML页面。单击,javascript,jquery,html,asp.net,asp.net-mvc,Javascript,Jquery,Html,Asp.net,Asp.net Mvc,我有一个onclick函数,它基本上只返回排序数据,如下所示: $(document).ready(function () { $(".feedbackClick").click(function () { $.post("/Analyze/GetSortedByFeedback") .done(function (data) { var sellers = $('<table />').appen

我有一个onclick函数,它基本上只返回排序数据,如下所示:

$(document).ready(function () {
    $(".feedbackClick").click(function () {
       $.post("/Analyze/GetSortedByFeedback")
              .done(function (data) {
                  var sellers = $('<table />').append(data).find('#tableSellers').html();
                  $('#tableSellers').html(sellers);
              });
       });
    });
});
编辑3:

这就是行动:

public List<ResultItem> GetSortedByFeedback()
{
    return lista.OrderByDescending(x => x.Feedback).ToList();
}
现在我可以做:

data[0].Feedback
这在控制台中输出:

61259

您试图做的实际上是将JSON数据附加到HTML元素,这当然不会像预期的那样工作

考虑使用模板引擎,如。您将能够编译HTML模板,并在需要时使用它呈现数据。例如:

var markup = "<li><b>${Name}</b> (${ReleaseYear})</li>";

// Compile the markup as a named template
$.template( "movieTemplate", markup );

$.ajax({
  dataType: "jsonp",
  url: moviesServiceUrl,
  jsonp: "$callback",
  success: showMovies
});

// Within the callback, use .tmpl() to render the data.
function showMovies( data ) {
  // Render the template with the "movies" data and insert
  // the rendered HTML under the 'movieList' element
  $.tmpl( "movieTemplate", data )
    .appendTo( "#movieList" );
}
var-markup=“
  • ${Name}(${ReleaseYear})
  • ”; //将标记编译为命名模板 $.template(“movieTemplate”,标记); $.ajax({ 数据类型:“jsonp”, url:moviesServiceUrl, jsonp:“$callback”, 成功:放映电影 }); //在回调中,使用.tmpl()呈现数据。 功能showMovies(数据){ //使用“电影”数据呈现模板并插入 //“movieList”元素下呈现的HTML $.tmpl(“movieTemplate”,数据) .附于(“#movieList”); }
    尝试以下方法:

    $(document).ready(function () {
        $("body").on("click",".feedbackClick",function() {//delegate the click event
           $.get("/Analyze/GetSortedByFeedback",function(data) {
                      var sellers = $(data).find('#tableSellers').html();//find the table and take the html
                      $('#tableSellers').html(sellers);//append the html
                  });
        });
    });
    
    注意:您需要从ajaxed页面返回html(在您的情况下)

    通过@Alexandru部分响应,您可以执行以下操作

    public JsonResult GetSortedByFeedback()
    {
       var list=lista.OrderByDescending(x => x.Feedback).ToList();
       return Json(list,JsonRequestBehavior.AllowGet);
    }
    
    js:

    $(文档).ready(函数(){
    $(“body”)。在(“click”、“.feedbackClick”上,function(){//委托click事件
    $.get(“/Analyze/GetSortedByFeedback”,函数(数据){
    $('#tableSellers tbody').empty();//首先清空表体
    $.each(数据,函数(i,项){//从json循环每个项
    $('#tableSellers tbody').append(''+item.SaleNumber+''+item.Feedback+'');//构建并附加html
    });
    });
    });
    });
    
    请使用以下命令:

    public JsonResult GetSortedByFeedback()
    {
       var list=lista.OrderByDescending(x => x.Feedback).ToList();
       return Json(list);
    }
    
    public JsonResult GetSortedByFeedback()
    {
       var list=lista.OrderByDescending(x => x.Feedback).ToList();
       return Json(list,JsonRequestBehavior.AllowGet);
    }
    
     .done(function (data) {
          $('#tableSellers tbody').empty();
          $.each(data,function(i,item){
               var tr='<tr><td><a href="http://ebay.com/usr/'+item.StoreName+'" target="_blank">'+item.StoreName+'</a></td><td><b>'+item.SaleNumber+'</b></td><td><b>'+item.Feedback+'</b></td></tr>';
               $('#tableSellers tbody').append(tr);//append the row
          });
      });
    
    如果您的方法是
    GET
    ,请使用以下方法:

    public JsonResult GetSortedByFeedback()
    {
       var list=lista.OrderByDescending(x => x.Feedback).ToList();
       return Json(list);
    }
    
    public JsonResult GetSortedByFeedback()
    {
       var list=lista.OrderByDescending(x => x.Feedback).ToList();
       return Json(list,JsonRequestBehavior.AllowGet);
    }
    
     .done(function (data) {
          $('#tableSellers tbody').empty();
          $.each(data,function(i,item){
               var tr='<tr><td><a href="http://ebay.com/usr/'+item.StoreName+'" target="_blank">'+item.StoreName+'</a></td><td><b>'+item.SaleNumber+'</b></td><td><b>'+item.Feedback+'</b></td></tr>';
               $('#tableSellers tbody').append(tr);//append the row
          });
      });
    
    那么请用这个:

    public JsonResult GetSortedByFeedback()
    {
       var list=lista.OrderByDescending(x => x.Feedback).ToList();
       return Json(list);
    }
    
    public JsonResult GetSortedByFeedback()
    {
       var list=lista.OrderByDescending(x => x.Feedback).ToList();
       return Json(list,JsonRequestBehavior.AllowGet);
    }
    
     .done(function (data) {
          $('#tableSellers tbody').empty();
          $.each(data,function(i,item){
               var tr='<tr><td><a href="http://ebay.com/usr/'+item.StoreName+'" target="_blank">'+item.StoreName+'</a></td><td><b>'+item.SaleNumber+'</b></td><td><b>'+item.Feedback+'</b></td></tr>';
               $('#tableSellers tbody').append(tr);//append the row
          });
      });
    
    .done(函数(数据){
    $('#tableSellers tbody').empty();
    $。每个(数据、功能(i、项){
    var tr=''+项目.销售编号+''+项目.反馈+'';
    $('#tableSellers tbody').append(tr);//追加行
    });
    });
    
    你确定
    $(“”)
    吗?不,这就是我发布这个问题的原因。我不确定数据对象是什么样子,它的内容是什么…:/请在
    done
    函数中使用
    console.log(data)
    。您的
    .find(“#tableSellers”)
    没有意义-您无法
    .find()
    尚未添加到DOM的内容。您只需要
    .done(函数(数据){$(someElement).html(数据);}
    其中
    someElement
    是第一次呈现页面时存在的元素伙计们,我已经用数据对象的内容更新了我的问题,有人可以查看它吗?我收到一个错误:语法错误,无法识别的表达式:System.Collections.Generic.List`1[WebApplication2.Controller.ResultItem]这意味着您没有从ajax返回html,或者您的asp页面由于某种原因出现错误,因此只显示1个结果,而不是在返回前显示100个初始结果click@User987抱歉,将html更改为append,更新了我的回答,以及在ajax中将json转换为html的部分?@AlexandruMihai我现在如何在中获取数据。完成并更新HTML?@User987,在使用我的代码后,你能显示你的
    数据吗?
    console.log(data)
    。这有助于我更新你的表。@AlexandruMihai它看起来像这样:数组[100],现在可以像数据[0]一样访问参数.反馈…等等…我现在如何重建数据并更新html?它不仅像一个魔咒一样工作,而且很漂亮!谢谢@AlexandruMihai!!!你就是那个家伙!!!:)