从ajax获取成功消息中的特定数据

时间:2015-02-19 20:45:53

标签: javascript jquery ajax

我有一个ajax电话,我收到了来电的回复。代码是这样的:

<div id="flow_#id#~#sid#" style="margin: 0 10px 0 0;float:right;height:150px;"  class="code"> 
                <img src="/assets/codes/#code#.jpg" style="max-height: 230px;">
            </div>

我正在做的是从我的ajax得到的回复,我想用来自我的ajax成功的值替换div标签的内容

ajax调用是这样的

$.ajax({
            url: 'bc.cfm?ID=' + getID + '&ssID=' + getSID,
            type: "GET",
            cache: false,
            success: function(data){
                $("#flow_" + getID + "~" + getSID + " img:last-child").remove();
                $("#flow_" + getID + "~" + getSID).html(data);
            }
        });

但是一个完整的html页面正在成功,我可以在firebug中进行img,但是有一个完整的html源代码,我如何提取img标签并替换上面已经存在的那个[id正在进行为了识别两者,只使用1,我们将删除并再次添加]

2 个答案:

答案 0 :(得分:0)

如果您只想从响应中提取图像,可以试试这个。我没有测试过代码,但它应该可以工作。请检查一下。

success: function(data){

            // get the image tag from the response
            var $img = $(data).find('img');

            $("#flow_" + getID + "~" + getSID + " img:last-child").remove();

            // replace 
            $("#flow_" + getID + "~" + getSID).html($img.html());
        }

答案 1 :(得分:0)

使用 JSON 代替

例如:

的javascript

  $.ajax({
    type: 'POST', 
    url: 'yourphpfile.php', 
    dataType: 'json',
    success: function (x) {                
      console.log(x.imgtag); // img
    }
  });
  return false;

PHP

<?php
header('Content-Type: application/json');
$output=array(); 
$output['imgtag']='<img src="myimg.jpg">';       
echo json_encode($output);
?>  

将您想要的任何内容放入$ output数组(例如img标记),您可以使用JavaScript轻松访问它。