首页 > 解决方案 > 使用 PHP 和 jQuery 从 XML json 请求填充表单

问题描述

这不是我的专业领域,所以我想知道这里是否有任何专家能够让我走上正确的道路。

我可以访问根据注册号生成车辆详细信息的 API。

API 看起来像这样:

https://example.com/xmlService/car.aspx?user=USERNAME&password=PASSWORD&number=NO12345

并生成这样的 XML 数据。

<vehicle>
    <message/>
    <regno>NO12345</regno>
    
    <make>SUZUKI</make>
    <vehcom>VITARA</vehcom>
    <color>White</color>
</vehicle>

现在这是我需要帮助的部分,在我在 regno 字段中输入注册号后,我需要获取并生成 Make、Type 和 Color “onChange”的表格。

<form action="form.php" method="post" accept-charset="utf-8">
    
    <label for="regno">Registration Nr.</label>
    <input id="regno" type="regno" name="regno" value="NO12345">
    
    <!-- Populate these fields -->
    
    <label for="make">Make</label>
    <input id="make" type="make" name="make" value="">
    
    <label for="vehcom">Type</label>
    <input id="vehcom" type="vehcom" name="vehcom" value="">
    
    <label for="color">Color</label>
    <input id="color" type="color" name="color" value="">
    
</form>

我已经尝试通过 PHP (api.php) 使用 CURL,但我 100% 确定我什至没有走在正确的道路上。

<?php

$user = "USERNAME";
$password = "PASSWORD";

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_URL, "https://example.com/xmlService/car.aspx?user=USERNAME&password=PASSWORD&number=NO12345");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "XML=".$xmlcontent."&user=".$user."&password=".$password."&number=".$number.);
$content=curl_exec($ch);

var_dump($content);

?>

尝试使用与此类似的任何东西从 jQuery 获得某种响应,但在这里我也很确定我没有走上正确的道路;(

<script type="text/javascript">
      $.ajax({
            'url': 'api.php',
            'type': 'GET',
            'dataType': 'json',
            'data': {'number': 'NO12345'},
            'success': function(response) {
              console.log(response);
            }
          });
  </script>

任何想法让我在这里走上正确的道路?,任何帮助都会非常感激!

标签: javascriptphpjqueryjsonxml

解决方案


推荐阅读