2012-07-22 59 views
1

我有一个表单让用户输入他们的搜索词,然后通过jquery ajax post传递给另一个页面。在进程页我有以下代码:Firefox中的getJSON错误

<?php $searchText = $_REQUEST["searchText"]; ?> 

<script type="text/javascript"> 
$('.facebookfeed').append('<p>Loading your results</p>'); 
    var url = 'https://graph.facebook.com/search?q='; 
    var url = url+searchText.value; 
    var url = url+'&type=post&limit=60&callback=?';  
    $.getJSON(url,function(json){ 
    console.log(data); 
     var html = "<ul>"; 
      if (json.data == ''){html += '<li><h2>Sorry, no results were found. Try with another search term.</h2>'; } 
     $.each(json.data,function(i,fb){ 
      if (!fb.message == ''){ 
       html += '<li><div class="box">' 
       html += '<a href="http://www.facebook.com/'+ fb.from.id +'" target="_blank"><img src="https://graph.facebook.com/' + fb.from.id + '/picture" /></a>'; 
       html += '<p><span class="name"><a href="http://www.facebook.com/'+ fb.from.id +'" target="_blank">' + fb.from.name + '</a></span> <br />'; 
       html += fb.message; 
       html += '</p></div></li>'; 

      } 
      }); 
     html += "</ul>"; 
     $('.facebookfeed').animate({opacity:0}, 500, function(){ 
       $('.facebookfeed').html(html); 
                   }); 
     $('.facebookfeed').animate({opacity:1}, 500); 

    }); 


</script> 

此代码工作正常在Chrome和Safari但在Firefox我收到以下错误:

Error: searchText is not defined 

我似乎无法弄清楚这里有什么问题?任何帮助是极大的赞赏。

+0

这肯定看起来像变量'searchText'应该是在你的表单输入。是这样吗?你在哪里定义这个变量? – 2012-07-22 02:32:06

回答

2

您的搜索文字变量是在PHP中,但您正在尝试在JavaScript中使用它。尝试将其转移到一个JavaScript变量var searchText = "<?= $searchText?>";

那么你的JavaScript将是这个样子:

<script type="text/javascript"> 
    $('.facebookfeed').append('<p>Loading your results</p>'); 
    var searchText = "<?= $searchText?>"; 
    var url = 'https://graph.facebook.com/search?q='; 
    url = url+searchText; 
    url = url+'&type=post&limit=60&callback=?'; 
    $.getJSON(url,function(json){ 
     ...  
    }); 
    ... 
</script> 
+0

谢谢你。在使用PHP和jQuery时需要做更多的阅读。 :d – Fraggy 2012-07-22 09:08:31