未捕获的TypeError:数字不是函数

时间:2015-01-12 05:48:49

标签: javascript html json

我遇到问题我收到此错误

  

未捕获的TypeError:数字不是函数

在我的pagenation.html

<img ng-src="images/left-arrow.png" onclick="page('previous');" style=" float:left; margin-left:10px; width: 7%; height=7%; margin-bottom:10px;"></img>
<img ng-src="images/right-arrow.png" onclick="page('next');" style=" float:left; margin-left:10px; width: 7%; height=7%; margin-bottom:10px;"></img>

然后是我的Javascript

var page=1;
function page(pcounter)
{
    console.log(pcounter);
   var data_file = "my link";
   var http_request = new XMLHttpRequest();
   try{
      // Opera 8.0+, Firefox, Chrome, Safari
      http_request = new XMLHttpRequest();
   }catch (e){
      // Internet Explorer Browsers
      try{
         http_request = new ActiveXObject("Msxml2.XMLHTTP");
      }catch (e) {
         try{
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
         }catch (e){
            // Something went wrong
            alert("Your browser broke!");
            return false;
         }
      }
   }
   http_request.onreadystatechange  = function(){
      if (http_request.readyState == 4  )
      {
        // Javascript function JSON.parse to parse JSON data
        var data = JSON.parse(http_request.responseText);
              var title=[];
             var date=[];
             var image=[];
             var e;

             if((pcounter=='next') && (pcounter<data.posts))
             {
                 page+=2;
             }
             else if((page!=1)&&(pcounter=='back'))
             {
                  page-=2;
             }

                for (var i in data.posts) {
                    title[i]=data.posts[i].title;
                    date[i]=data.posts[i].date;
                    image[i]= data.posts[i].thumbnail_images.thumbnail.url;
                   }

                 for(var e = page; e < 6; e++){
                     document.getElementById("rtitle" + e).innerHTML=title[e];
                     document.getElementById("rdate" + e).innerHTML=date[e];
                     document.getElementById("rimage" + e).src=image[e];
                 }

      }
   }
   http_request.open("GET", data_file, true);
   http_request.send();
}

我已经尝试了我在这里找到的所有解决方案,但没有运气,有人对此有所了解吗?

1 个答案:

答案 0 :(得分:1)

您正在声明一个名为page的函数和变量。函数是JavaScript中的变量,因此您不能同时使用相同的名称。该变量正在覆盖该函数,因为命名函数在JIT编译器中的变量之上被提升,从而导致您的错误。只需重命名其中一个就可以了。

这样的事情(您还必须在任何地方更改名称):

var pageCount=1;
function page(pcounter)