Я написал простой API для проверки адресов с помощью SmartyStreets API. В настоящее время у меня есть бесплатный аккаунт для тестирования.
API работает как есть, но я хотел бы реализовать две другие функции.
1- автозаполнение адресов и заполнение значений в форме.
2 — используйте Ajax, чтобы страница позволяла пользователю вводить адрес, отправлять запрос на SmartStreets, получать ответ и отображать результат вместе с пустой на этот раз формой, чтобы позволить пользователю ввести другой адрес. Вот код, который я написал.
Мой вопрос: возможно ли реализовать автозаполнение с помощью этого скрипта и заставить его отправить на ту же страницу и показать форму после отправки для второго поиска? Если возможно, мне просто нужно руководство или ресурсы. Спасибо!
<?php
if (isset($_GET['address']) && isset($_GET['city']) && isset($_GET['state'])) {
$address = urlencode($_GET['address']);
$city = urlencode($_GET['city']);
$state = urlencode($_GET['state']);
$json = file_get_contents('https://us-street.api.smartystreets.com/street-address?auth-id=auth_id_goes_here&auth-token=auth_token_goes_here&street='.$address.'&city='.$city.'&state='.$state.'&candidates=10');
$output = json_decode($json, $assoc=true);
//var_dump($output);
if (!empty($output)) {
echo 'This address is good!<br>';
echo $output[0]['delivery_line_1'].'<br>';
echo $output[0]['last_line'];
} else {
echo 'This address is bad!<br>';
echo $_GET['address'].'<br>';
echo $_GET['city'].' '.$_GET['state'];
}
} else {
?>
<html>
<head>
<title>SmartyStreets Address Verifier</title>
</head>
<body>
<script language="javascript">
function verify() {
if(!document.getElementsByName("address")[0].value) {
window.alert("Street Address is required!");
return false;
}
if(!document.getElementsByName("city")[0].value) {
window.alert("City cannot be empty!");
return false;
}
if(!document.getElementsByName("state")[0].value) {
window.alert("State cannot be empty!");
return false;
}
return true;
}
</script>
<h1>SmartyStreets Address Verifier</h1>
<hr>
<h3>Please enter the information below then click Verify.</h3>
<table><tr><td><table><tr><td>
<form action="index.php" onsubmit="return verify()" method="GET">
<table><tr><td><table><tr>
<td>Street Address: </td><td>
<input type="text" name="address" value="" /><font color="red">*</font>
</td></tr><tr><td>
City: </td><td>
<input type="text" name="city" value="" /><font color="red">*</font>
</td></tr><tr><td>
State: </td><td>
<input type="text" name="state" value="" /><font color="red">*</font>
</td></tr><tr><td>
<button type="reset" value="Reset">Reset</button>
</td><td>
<input type="submit" value="Verify" />
</td></tr>
</table>
</form>
<?php
}
?>
</td></tr></table></td></tr></table>
<div id="result"></div>
</body>
</html>
Спасибо
Задача ещё не решена.
Других решений пока нет …