簡體   English   中英

為什么我不能通過 jQuery 修改這個 post 請求的響應?

[英]Why can't I modify the response of this post request via jQuery?

所以我有一個登錄表單,提交后將重定向到主頁/

我希望表單具有相同的行為,除了當我從服務器收到以 HTML 數據形式出現的響應時,我可以修改HTML 數據,以便在重定向發生后,主頁將顯示修改后的數據HTML:

$(#login-form).submit(function(event) {
  event.preventDefault();
  var $form = $(this);
  var user = $("#username").val();
  var passwd = $("#password").val();
  var url = $form.attr("action");
  var posting = $.post(url, { username: user, password: passwd });
  posting.done(function(data) {
    $(data).find("#logged-user").text("user777");
    $('html').html(data);
  });
});

在上面的代碼片段中,當說user111登錄時,會有一個跨度標簽<span id="logged-user"></span>顯示登錄用戶的名稱。

但是,當我嘗試操作此跨度標記時,它會通過$(data).find("#logged-user").text("user777");顯示不同用戶的名稱。 它不起作用。 為什么?

嘗試這個:

posting.done(function(data) {
  var tmp = $('<div>' + data + '</div>');   // Create a temporary DOM
  tmp.find("#logged-user").text("user777"); // Modify it
  $('html').html( tmp.html() );             // Get its HTML, and use it
});

或者簡單地說:

posting.done(function(data) {
  $('html').html(data);
  $("#logged-user").text("user777");
});

暫無
暫無

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

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