簡體   English   中英

Javascript / JQuery:innerHTML無法正常工作

[英]Javascript/JQuery: innerHTML Not Working

我想將<div id="homePagePosts">的內容更改為來自服務器的新數據。 新數據采用服務器呈現的HTML格式。 但是,瀏覽器收到AJAX數據后,舊的HTML仍然保持不變。

當我如下所示顯示console.log ,我可以看到呈現的新HTML數據顯示在控制台中。 我已將Javascript和JQuery文件都放在<body>的底部,但仍然無法正常工作。 我不太確定這里哪里出錯了。

的HTML

<div id="homePagePosts">
    <% include ../ajaxSnippets/mainHome %>
</div>

Java腳本

$.ajax({
      url: "/main/home",
      type: "POST",
      contentType: "application/json",
      data: JSON.stringify(sendData)
  }).done(function(result){
      //This shows up in the console
      console.log(result)
      updateMainPagePosts(result);
  }).fail(function(err){
      console.log(err);
  });

var updateMainPagePosts = function(posts){
  document.getElementById("homePagePosts").innerHTML = posts;
};

您已將函數定義為變量,並且無法在此方法中使用。

改變這個:

var updateMainPagePosts = function(posts){
  document.getElementById("homePagePosts").innerHTML = posts;
};

對此:

function updateMainPagePosts(posts){
  document.getElementById("homePagePosts").innerHTML = posts;
}

來自以下網址的更多詳細信息: https : //www.quora.com/Is-the-var-x-function-the-same-as-the-function-x-in-JavaScript

這會破壞。 它使用分配給變量的函數表達式。 console.log(myFunction(1,2)); var myFunction = function(a,b){return a + b; };

這會將“ 3”打印到您的控制台。 它使用函數聲明。 console.log(myFunction(1,2)); 函數myFunction(a,b){返回a + b; }

區別在於,在具有函數定義的示例中,該函數被JavaScript解釋器“提升”到作用域的開頭(例如,可以是父函數或文件),這意味着該函數中的任何位置可以調用它,它將執行您編寫的功能。

在函數Expression中,函數就像是一個值一樣被傳遞,並在需要時被解釋。 在此示例中,我們將其分配給myFunction變量。 由於我們在該變量的前面放置了一個'var'語句,因此該變量的myFunction已被吊起,但其值(函數表達式)未被吊起(不要混淆兩者)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM