【问题标题】:Call a URl using Ajax or PHP使用 Ajax 或 PHP 调用 URl
【发布时间】:2014-09-23 12:14:55
【问题描述】:

我必须调用一个返回 XML 的 Web URL

<Account account="ihs" timezone="GMT+05:30">
  <Description>The Indian Heights School</Description>
  <Device id="dl1pc2814">
    <Description>DL1PC2814</Description>
    <EventData device="dl1pc2814">
      <Timestamp epoch="1411466654">2014/09/23 15:34:14 GMT+05:30</Timestamp>
      <StatusCode code="0xF020">Location</StatusCode>
      <GPSPoint age="0">28.56150,77.05312</GPSPoint>
      <Speed units="km/h">0.0</Speed>
      <Heading degrees="0.0">N</Heading>
      <Altitude units="meters">0</Altitude>
      <Odometer units="Km">12002.1</Odometer>
      <Geozone index="0">tihs</Geozone>
      <Address>The Indian Heights School</Address>
      <City/>
      <PostalCode/>
      <DigitalInputMask>0x0000000000000000</DigitalInputMask>
      <DriverID/>
      <DriverMessage/>
      <EngineRPM>0</EngineRPM>
      <EngineHours>0.0</EngineHours>
      <VehicleBatteryVolts>0.0</VehicleBatteryVolts>
      <EngineCoolantLevel units="percent">0.0</EngineCoolantLevel>
      <EngineCoolantTemperature units="C"/>
      <EngineFuelUsed units="Liter"/>
    </EventData>
  </Device>
</Account>

我想要&lt;GPSPoint&gt; 节点值 和 网址是

Link

我试过了,但它不起作用

  <script>
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp = new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }

  xmlhttp.open("GET", "http://ent.davts.in:5885/events/dev.xml?a=ihs&u=&p=archana2013&d=dl1pc2814&l=1&at=true", false);

  xmlhttp.send();
  alert(xmlhttp.readyState);
  xmlDoc = xmlhttp.responseXML;

  document.write("<table id='myTable2' border='1'  >");

  var x = xmlDoc.getElementsByTagName("Description");

  for (i = 0; i < x.length; i++)
  {
       document.write("<tr><td>");
       document.write(x[i].getElementsByTagName("Timestamp")[0].childNodes[0].nodeValue);
       document.write("</td><td>");
       document.write(x[i].getElementsByTagName("StatusCode")[0].childNodes[0].nodeValue);
       document.write("</td><td>");
       document.write(x[i].getElementsByTagName("GPSPoint")[0].childNodes[0].nodeValue);
       document.write("</td><td>");
       document.write(x[i].getElementsByTagName("Speed")[0].childNodes[0].nodeValue);
       document.write("</td><tr>");

   }
   document.write("</table>");
   </script>

我正在使用 ajax,但我的 readystate 代码为 1,状态代码为 0。 实际上我是 Java 开发人员,但客户端没有 Java 服务器,所以他想要 javascript、ajax 和 php 代码中的应用程序 请帮助我提前谢谢

【问题讨论】:

    标签: php html ajax xml web-services


    【解决方案1】:

    jsfiddle 链接:JS Fiddle

    var text = "Your xml text";
    parser=new DOMParser();
    var xmlDoc = parser.parseFromString(text,"text/xml");
    var x = xmlDoc.getElementsByTagName("EventData");
    
      for (i = 0; i < x.length; i++)
      {
          console.log("Timestamp = "+x[i].getElementsByTagName("Timestamp")[0].childNodes[0].nodeValue);
    console.log("StatusCode = "+x[i].getElementsByTagName("StatusCode")[0].childNodes[0].nodeValue);
    console.log("GPSPoint = "+x[i].getElementsByTagName("GPSPoint")[0].childNodes[0].nodeValue);
    console.log("Speed = "+x[i].getElementsByTagName("Speed")[0].childNodes[0].nodeValue);
      }
    

    【讨论】:

    • 我想调用跨域 URL 而不是 XML 文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多