【问题标题】:how to reload DIV content without refreshing whole page如何在不刷新整个页面的情况下重新加载 DIV 内容
【发布时间】:2013-03-21 06:51:43
【问题描述】:

我只想用我得到的内容替换 DIV 内容。在我使用 ajax 向服务器发出 get 请求之后。

    $.ajax({
    type: "GET",
    url: "http://127.0.0.1:8000/result/?age="+ ageData +"&occasion="+ 
    occasionData     +"&relationship="+ forData +"#",

    success: function () {

        $("#testDIV").load();
    }
});

“testDIV”是我要替换从服务器获取的内容的 div 的 id。

【问题讨论】:

    标签: javascript jquery html ajax


    【解决方案1】:
       $.ajax({
    type: "GET",
    url: "ht.tp://127.0.0.1:8000/result/?age="+ ageData +"&occasion="+ 
    occasionData     +"&relationship="+ forData +"#",
    
    success: function (response) {
    
        $("#testDIV").html(response);
    }
    });
    

    【讨论】:

      【解决方案2】:

      如果您希望使用脚本返回的内容填充 <div>

      $.ajax({
          type: "GET",
          url: "http://127.0.0.1:8000/result/?age="+ ageData +"&occasion="+ 
          occasionData     +"&relationship="+ forData +"#",
      
          success: function (data) {
      
              $("#testDIV").html(data);
              //Puts response data inside <div id="testDIV"></div>
          }
      });
      

      哦,请注意http:// 前缀中的句号。除非您使用我们许多人都不知道的新协议 - 您会希望它消失。

      【讨论】:

      • 我已经尝试过您的解决方案,但我收到 500 错误代码。什么都没有发生
      • 您是否从地址协议中删除了句点 (.)?
      • 然后我在想 http://127.0.0.1:8000/result/ 的脚本有问题。你在使用 URL 重写吗?
      • 那么你究竟是如何到达那个地址的脚本的呢?您需要确保该地址指向您要处理请求的脚本。
      • 如果我直接从浏览器使用 url,服务器不会显示错误。但如果我使用 ajax 方法。然后它会显示错误。
      【解决方案3】:

      使用带有内容的成功处理程序的第一个参数,并使用.html()函数将您的div内容替换为它:

      success: function (data) {
          $("#testDIV").html(data);
      }
      

      【讨论】:

      • 感谢您的帮助。但是现在整个页面正在加载。但我想要的只是用新的 DIV 内容替换旧的 DIV 内容。
      【解决方案4】:

      这里是正确的成功函数:

      success: function(htmlFromServer) {
           $("#testDIV").html(htmlFromServer);
      }
      

      【讨论】:

        【解决方案5】:

        试试这个,

        success: function (data) {
            $("#testDIV").html(data);
        }
        

        【讨论】:

        • @VaIbHaV-JaIn 请参阅编辑部分。 data 是从 AJAX 请求得到的响应
        • 我已经尝试了所有方法,但在服务器端遇到了同样的错误(500 错误)。
        【解决方案6】:
         var url = "ht.tp://127.0.0.1:8000/result/?age="+ ageData +"&occasion="+ 
            occasionData+"&relationship="+ forData +"#";
            $('#testDIV').load(url);
        

        【讨论】:

          【解决方案7】:

          完成此操作的最简单方法是使用 .load 函数

          var url = "http://127.0.0.1:8000/result/?age="+ ageData +"&occasion=" + occasionData     +"&relationship="+ forData +"#";
          $("#testDIV").load(url);
          

          【讨论】:

          • 感谢大家的帮助。我通过将新视图中的内容加载到 DIV 元素中解决了这个问题。谢谢大家的建议和帮助...
          【解决方案8】:

          以数字“5”开头的响应状态代码表示服务器知道它遇到错误或无法执行请求的情况。除了响应 HEAD 请求时,服务器应该包含一个实体,其中包含对错误情况的解释,并指出它是暂时的还是永久的。同样,用户代理应该向用户显示任何包含的实体。这些响应代码适用于任何请求方法。

          【讨论】:

            猜你喜欢
            • 2018-10-12
            • 2016-09-04
            • 1970-01-01
            • 1970-01-01
            • 2019-07-07
            • 2011-11-02
            • 2010-12-04
            • 1970-01-01
            • 2022-08-19
            相关资源
            最近更新 更多