提取url时,Ajax调用返回undefined

时间:2013-10-01 18:46:31

标签: php jquery ajax

我在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并按下enter按钮时,它将从Block 6中获取元素。我想在我的myscript中找到匹配元素.php使用textFromBlock然后提取要在警报消息中输入的URL,如“rtmp:// $ OPT:rtmp-raw = rtmp://www.myvideolink.com/test.flv”。

然而,当我按下回车键时,我收到了一条提示“未定义”的警告信息。我检查了标签名称,我得到了标签名称correcr,但我不知道为什么我仍然收到了undefined。有谁知道为什么以及我做错了什么?

1 个答案:

答案 0 :(得分:1)

而不是:

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

您希望从包含“Stream 1”的元素中获取'href',如下所示:

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