如何对html元素进行AJAX调用?

时间:2016-08-17 06:31:33

标签: javascript jquery ajax

我想要做的很简单。我想对一个特定的html类进行AJAX调用,这样无论何时加载html页面,jquery都会对该特定的html div class进行AJAX调用。

例如:

<div class="targeted"></div>

在jquery中:

$('.targeted')

我知道进行AJAX调用的语法是:

$.ajax({
        type: "GET",
        url: "/api/something",
        success: function(data) {
          console.log(data);
        }
      });

但是,无论何时加载页面,我如何对$('.targeted')实施此AJAX调用?

由于

5 个答案:

答案 0 :(得分:1)

如果您想在元素中显示ajax调用的结果,则从success回调中更新元素:

$.ajax({
    type: "GET",
    url: "/api/something",
    success: function(data) {
        $('.targeted').html(data);
    }
});

该示例假设

  1. 您想要替换元素的内容(而不是添加到元素中);更多选项in the jQuery API

  2. data将是HTML。如果是纯文本,请使用.text(data),而不是.html(data)。如果是结构化数据,那么您当然需要做更多的工作来将信息以所需的形式提供。

答案 1 :(得分:0)

你可以这样做:

string ServerPath = System.Configuration.ConfigurationManager.AppSettings["FilePath"] + "Template.xlsx";
System.IO.FileInfo file = new System.IO.FileInfo(Server.MapPath(ServerPath));

HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
HttpContext.Current.Response.AddHeader("Content-Length", file.Length.ToString());
            HttpContext.Current.Response.ContentType = "application/octet-stream";
 HttpContext.Current.Response.TransmitFile(file.FullName);
 HttpContext.Current.Response.Flush();
 HttpContext.Current.ApplicationInstance.CompleteRequest();

答案 2 :(得分:0)

window.onload = function() {
  yourFunction();
};

function yourFunction(){
$.ajax({
    type: "GET",
    url: "/api/something",
    success: function(data) {
        $('.targeted').html(data);
    }
});
}

或者正确地,您可以在文档中传递该方法,它将自动执行

$(document).ready(function(){
//This will execute onload oof your web page what you required
  yourFunction();
})

function yourFunction(){
$.ajax({
    type: "GET",
    url: "/api/something",
    success: function(data) {
        $('.targeted').html(data);
    }
});
}

答案 3 :(得分:0)

对于加载页面的时间,您使用:

$( document ).ready(function() {
    console.log( "ready!" );
});

在准备好的文档中,您可以进行AJAX调用。如果您获得的结果是JSON格式,则需要包含dataType,如下所示:

$.ajax({
  method: "GET",
  url: "/api/something",
  dataType: "json"
})
  .done(function( data ) {
    $('.targeted').append(JSON.stringify(data));
  });

如果结果不是JSON,那么您只需附加数据。

另请注意: 从jQuery 3.0开始,jqXHR.success()jqXHR.error()jqXHR.complete()回调将被删除。您可以改用jqXHR.done()jqXHR.fail()jqXHR.always()

请查看the jQuery documentation

答案 4 :(得分:0)

你可以像这样使用jquery load

$(".targeted").load('/api/something');

如果你想在页面加载后等到下,请用window load包裹它,如下所示:

$(window).load(function () {
  $(".targeted").load('/api/something');
});

P.S。 $(window).load(..)$(".class").load(url)是两个不同的功能