【问题标题】:Refresh a DIV on ajax success刷新 ajax 成功的 DIV
【发布时间】:2016-10-26 17:42:24
【问题描述】:

我有一个带有标题的页面:

<div class="something"><? some php code  ?></div>

在那个页面中,我也有一个 ajax 做这样的工作:

<script>
$(document).ready(function () {
$(document).ajaxStart(function () {
    $("#loader").show();
}).ajaxStop(function () {
    $("#loader").hide();
});
});

$('#link').on('click', function(e) {
 e.preventDefault;
 var href = this.getAttribute('href');  
 $.ajax({
url: href,
success: function(text) {
  alert("Added Succesfully");
}
});
return false; 
});
</script>

现在在 ajax 的成功中,我还想刷新我提到的 div。仅刷新,因为它附加到 PHP,它将从外部 API 获取数据。这可能吗?

【问题讨论】:

  • $('.something').html('Your text or code here');
  • 我认为我们不能刷新 div,而是可以将内容保存在另一个 php 文件中并设置新值
  • “刷新 div”是什么意思?如果你想附加ajax调用的结果,你可以使用$('.something').append(data-from-ajax)

标签: javascript php jquery html ajax


【解决方案1】:

您可以将您的 php 代码放在一个外部文件中,并通过调用 JQuery 加载方法重新加载您的 div:

$("#something").load("mycode.php");

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    link

     $.ajax({
        dataType: "json",
        url: "http://www.omdbapi.com/?i=tt0111161",
        success: function (data) {
            console.log(data);
            $("#movie-data").append(JSON.stringify(data));
    

    使用append 函数,您可以将来自ajax 调用的数据插入 到一个div 中。 explanation and example

    append() 方法在被选元素的末尾插入指定的内容。

    提示:要在所选元素的开头插入内容,请使用 prepend() 方法。

    或者this 回答可以解决您的问题

    或者你可以看看jquery load函数

    从服务器加载数据并将返回的 HTML 放入匹配的元素中。 此方法是从服务器获取数据的最简单方法。它大致相当于 $.get(url, data, success) ,只是它是一个方法而不是全局函数,并且它具有隐式回调函数。当检测到响应成功时(即 textStatus 为“success”或“notmodified”时),.load() 将匹配元素的 HTML 内容设置为返回的数据。

    【讨论】:

    • 我没有使用代码,但我明白了你的意思。效果很好,非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 2012-01-31
    • 1970-01-01
    相关资源
    最近更新 更多