提取 url 时,Ajax 调用返回未定义


Ajax call return undefined when extract the url

我在我的PHP中使用"createDivs"类列出了7个块。当我在每个块上按下键盘的输入按钮时,我可以获取 html 源代码中的元素。我正在尝试找出在使用 textFromBlock 变量查找匹配元素时如何从另一个 php 页面中提取 HREF URL,以便我可以使用 Ajax 提取 URL。

$(document).ready(function() 
{
  $("div").hide();
  $(".div_"+current_col+'_'+current_row).addClass( "yellowbg" );
});

$(document).keyup(function(event)
{
  var yellowbg = $(".yellowbg");
  if (event.keyCode == 13)
  {  //enter
    alert("enter tested");
    getStreamLink();
  } 
}

function getVideoLink()
{
  var i=0;
  $.ajax({
  url:'myscript.php',
  type:'POST',
  data:'',
  success: function(data)
  {
    var $data = $(data);
    var textFromBlock = $('.yellowbg').html();
    var stream1 = $data.filter("#Stream 1").html();
    alert(stream1);
    alert(textFromBlock);
  }   
  });
}

下面是 HTML 的外观示例:

<p id='block'>Block 1<p id='links'>http://mysite.com/get-listing.php?block=Block 1</p><a href="">Stream 1</a>
<p id='block'>Block 2<p id='links'http://mysite.com/get-listing.php?block=Block 2</p><a href="">Stream 1</a>
<p id='block'>Block 3<p id='links'>http://mysite.com/get-listing.php?block=Block 3</p><a href="">Stream 1</a>
<p id='block'>Block 4<p id='links'>http://mysite.com/get-listing.php?block=Block 4</p><a href="rtmp://$OPT:rtmp-raw=rtmp://www.myvideolink.com/test.flv">Stream 1</a>
<p id='block'>Block 5<p id='links'>http://mysite.com/get-listing.php?block=Block 6</p><a href="">Stream 1</a>

在这种情况下,当我按下键盘的向下箭头按钮进入Block 6并按回车按钮时,它将从Block 6中获取元素。我想在我的 myscript 中找到匹配元素.php使用 textFromBlock 然后提取要在警报消息中输入的 URL,例如"rtmp://$OPT:rtmp-raw=rtmp://www.myvideolink.com/test.flv"。

但是,当我按下输入按钮时,我收到警报消息,它说"未定义"。我已经检查了标签名称,并得到了相应的标签名称,但我不知道为什么我仍然收到未定义的标签。有谁知道我为什么做错了什么,做错了什么?

而不是这个:

$data.filter("#Stream 1").html();

你想从包含"流 1"的元素中获取"href",如下所示:

$data.find('a:contains(Stream 1)').attr('href')