jquery根据id解析ajax响应然后追加

时间:2015-09-04 09:04:29

标签: jquery ajax

我想知道是否有可能解析ajax响应并基于html元素的id追加它。

例如:

以下是我收到的示例响应响应数据:

<div id="message">
  <p class="text-danger">Please enter your message</p>
</div>
<div id="antispam">
  <p class="text-danger">Your anti-spam is incorrect </p>
</div>

请注意,响应数据中有两个div id =&#34; message &amp;的 ID =&#34;反垃圾邮件&#34;

我想把回复写在html页面的两个不同的地方。

对于id等于消息

我想把它写到:    $(&#39;#MSG&#39;)HTML(响应);

对于id等于反垃圾邮件

我想把它写到:    $(&#39;#垃圾&#39;)HTML(响应);

我当前的代码将整个响应写入相同的html元素,但按照上面的说法我想将其拆分。我如何改变以下代码来实现上述目标?

success: function (response) {
  $('#Response').html(response);
},

2 个答案:

答案 0 :(得分:2)

尝试这样过滤,

except (err)
$(document).ready(function() {

        var html = '<div id="message"><p class="text-danger">Please enter yourmessage</p></div><div id="antispam"><p class="text-danger">Your anti-spam is incorrect </p></div>'

        alert('The value filtered out from div#message ' + $(html).filter('#message').find('.text-danger').text());

        alert('The value filtered out from div#antispam ' + $(html).filter('#antispam').find('.text-danger').text());
});

答案 1 :(得分:0)

您可以使用如下过滤HTML响应并将其传递到成功回调内的相关ID来实现。请尝试下面的代码

success: function (response) {
  var resHtml = '<div id="message"><p class="text-danger">Please enter your message</p></div><div id="antispam">  <p class="text-danger">Your anti-spam is incorrect </p></div>';
   $('#msg').html($(resHtml).filter('#message').find('.text-danger').text());

   $('#spam').html($(resHtml).filter('#antispam').find('.text-danger').text());
},