jquery-Ajax load()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery-Ajax load()相关的知识,希望对你有一定的参考价值。

语法

$(selector).load(URL,data,callback);
  • 必需的 URL 参数规定您希望加载的 URL。
  • 可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。
  • 可选的 callback 参数是 load() 方法完成后所执行的函数名称。

 

将文本加载到指定元素

$("button").eq(0).click(function(){
    $("div").load("text.txt");
});

 

 

发现个有意思的问题:

正常的txt文本

燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢? ——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了:现在又到了哪里呢? 
我不知道他们给了我多少日子;但我的手确乎是渐渐空虚了。在默默里算着,八千多日子已经从我手中溜去;象针尖上一滴水滴在大海里,我的日子滴在时间的流里,没有声音也没有影子。我不禁头涔涔而泪潸潸了。 
去的尽管去了,来的尽管来着,去来的中间,又怎样的匆匆呢?早上我起来的时候,小屋里射进两三方斜斜的太阳。太阳他有脚啊,轻轻悄悄地挪移了;我也茫茫然跟着旋转。于是——洗手的时候,日子从水盆里过去;吃饭的时候,日子从饭碗里过去;默默时,便从凝然的双眼前过去。我觉察他去的匆匆了,伸出手遮挽时,他又从遮挽着的手边过去,天黑时,我躺在床上,他便伶伶俐俐地从我身边垮过,从我脚边飞去了。等我睁开眼和太阳再见,这算又溜走了一日。我掩着面叹息。但是新来的日子的影儿又开始在叹息里闪过了。 
在逃去如飞的日子里,在千门万户的世界里的我能做些什么呢?只有 徘徊罢了,只有匆匆罢了;在八千多日的匆匆里,除徘徊外,又剩些什么呢?过去的日子如轻烟却被微风吹散了,如薄雾,被初阳蒸融了;我留着些什么痕迹呢?我何曾留着象游丝样的痕迹呢?我赤裸裸来到这世界,转眼间也将赤裸裸地回去罢?但不能平的,为什么偏要白白走这一遭啊? 
你聪明的,告诉我,我们的日子为什么一去不复返呢?

但是这个文本可以加入html标签

<p>燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢? ——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了:现在又到了哪里呢?</p>

<p><b>我不知道他们给了我多少日子;但我的手确乎是渐渐空虚了。在默默里算着,八千多日子已经从我手中溜去;象针尖上一滴水滴在大海里,我的日子滴在时间的流里,没有声音也没有影子。我不禁头涔涔而泪潸潸了。</b></p>


<p>去的尽管去了,来的尽管来着,去来的中间,又怎样的匆匆呢?早上我起来的时候,小屋里射进两三方斜斜的太阳。太阳他有脚啊,轻轻悄悄地挪移了;我也茫茫然跟着旋转。于是——洗手的时候,日子从水盆里过去;吃饭的时候,日子从饭碗里过去;默默时,便从凝然的双眼前过去。我觉察他去的匆匆了,伸出手遮挽时,他又从遮挽着的手边过去,天黑时,我躺在床上,他便伶伶俐俐地从我身边垮过,从我脚边飞去了。等我睁开眼和太阳再见,这算又溜走了一日。我掩着面叹息。但是新来的日子的影儿又开始在叹息里闪过了。</p>

<p>在逃去如飞的日子里,在千门万户的世界里的我能做些什么呢?只有 徘徊罢了,只有匆匆罢了;在八千多日的匆匆里,除徘徊外,又剩些什么呢?过去的日子如轻烟却被微风吹散了,如薄雾,被初阳蒸融了;我留着些什么痕迹呢?我何曾留着象游丝样的痕迹呢?我赤裸裸来到这世界,转眼间也将赤裸裸地回去罢?但不能平的,为什么偏要白白走这一遭啊?</p>

<p>你聪明的,告诉我,我们的日子为什么一去不复返呢?</p>

 

经过测试:

  • txt文本中,多个空格和回车会合并为1个空格;
  • HTML标签都是起作用的,比如<b>、<br>

 

$("div").load("text.txt b");

将文本文档中<b>标签中的内容加载到指定元素中。

 

 

可选的 callback 参数规定当 load() 方法完成后所要允许的回调函数。回调函数可以设置不同的参数:

  • responseTxt - 包含调用成功时的结果内容
  • statusTXT - 包含调用的状态
  • xhr - 包含 XMLHttpRequest 对象

 

$("div").load("text.tt b", function(responseText, statusText, xhr){
    if(statusText == "success"){
        console.log(responseText);
        console.log(xhr.status);
        console.log(xhr.statusText);
    }

    if(statusText == "error"){
        console.log(xhr.status);
        console.log(xhr.statusText);
    }
});

 

以上是关于jquery-Ajax load()的主要内容,如果未能解决你的问题,请参考以下文章

jQuery-Ajax

jQuery-Ajax

如何使 JQuery-AJAX 请求同步

前端Jquery-Ajax跨域请求,并携带cookie

JQuery-Ajax后台提交数据与获取数据

使用 jQuery-AJAX 向 PHP 提交表单并在不刷新的情况下在 div 中显示新内容的问题