【问题标题】:getJSON error in FirefoxFirefox 中的 getJSON 错误
【发布时间】:2012-07-22 10:27:02
【问题描述】:

我有一个表单让用户输入他们的搜索词,然后通过 jquery ajax post 传递到另一个页面。在流程页面上,我有以下代码:

<?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

我似乎无法弄清楚这里的问题是什么?非常感谢任何帮助。

【问题讨论】:

  • 看起来变量searchText 应该是表单中的输入。是这样吗?你在哪里定义那个变量?

标签: php jquery firefox getjson


【解决方案1】:

您的 searchText 变量在 php 中,但您正试图在 javascript 中使用它。尝试将其转移到 javascript 变量 var searchText = "&lt;?= $searchText?&gt;";

那么你的 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> 

【讨论】:

  • 谢谢。需要更多阅读有关使用 PHP 和 jQuery 的知识。 :D
猜你喜欢
  • 1970-01-01
  • 2010-09-25
  • 2011-07-20
  • 2013-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-16
  • 1970-01-01
相关资源
最近更新 更多