通过ajax将多个php页面加载到phonegap

时间:2014-01-21 12:08:11

标签: javascript php jquery ajax cordova

我想通过ajax从外部数据库加载多个php文件到phonegap。 我试过复制javascript并在我的第二个脚本更改为txtHint1,但它无法正常工作。所以我想知道如何将多个外部文件加载到一个html中?

<!-- database --->
      <script>
          function showID(str)
          {
              if (str=="")
              {
                  document.getElementById("txtHint").innerHTML="";
                  return;
              }
              if (window.XMLHttpRequest)
              {// code for IE7+, Firefox, Chrome, Opera, Safari
                  xmlhttp=new XMLHttpRequest();
              }
              else
              {// code for IE6, IE5
                  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }
              xmlhttp.onreadystatechange=function()
              {
                  if (xmlhttp.readyState==4 && xmlhttp.status==200)
                  {
                      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
                  }
              }
              xmlhttp.open("GET","http://database.com/about.php"+str, true);
              xmlhttp.send();
          }
      </script>

      <script>
          function showHISTORY(str)
          {
              if (str=="")
              {
                  document.getElementById("txtHint1").innerHTML="";
                  return;
              }
              if (window.XMLHttpRequest)
              {// code for IE7+, Firefox, Chrome, Opera, Safari
                  xmlhttp=new XMLHttpRequest();
              }
              else
              {// code for IE6, IE5
                  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }
              xmlhttp.onreadystatechange=function()
              {
                  if (xmlhttp.readyState==4 && xmlhttp.status==200)
                  {
                      document.getElementById("txtHint1").innerHTML=xmlhttp.responseText;
                  }
              }
              xmlhttp.open("GET","http://database.com/history.php"+str, true);
              xmlhttp.send();
          }
      </script>


            <INPUT TYPE="BUTTON" name="id" style="background:url() no-repeat; border-style:none; width:0px; height:0px;" onload="showID()" value="">
                <div id="txtHint"></div>

            <INPUT TYPE="BUTTON" name="id" style="background:url() no-repeat; border-style:none; width:0px; height:0px;" onload="showHISTORY()" value="">
                <div id="txtHint1"></div>

2 个答案:

答案 0 :(得分:0)

您有两个名为showID(str)

的函数

应该只有一个名为showID(str)

的函数

所以有一个叫showID(str),一个叫showIDSomethingElse(str)

然后将HTML更改为

<INPUT TYPE="BUTTON" name="id" style="background:url() 
   no-repeat; border-style:none; width:0px; height:0px;" 
   onload="showID()" value="">

<div id="txtHint"></div>

<INPUT TYPE="BUTTON" name="id" style="background:url() 
   no-repeat; border-style:none; width:0px; height:0px;" 
   onload="showIDSomethingElse()" value="">

答案 1 :(得分:0)

您可以尝试,您可以保留一个常见的ajax函数并传递参数并获取相应的页面并进行更新。

使用Javascript:

str="aboutus";
xmlhttp.open("GET","http://database.com/common.php?page="+str, true);

in common.php

switch($_GET['page']){
     case "aboutus":
         include("aboutus.php");
     break;
    ....

  }