猿问

从邮政编码中查找地址并编辑输入表单,而无需重新加载页面

我正在尝试向正在构建的注册页面添加一些功能。


该功能是从邮政编码中查找地址,并将该数据添加到输入表单中。


我找到了一种方法来执行此操作,但是我执行该操作的方式涉及一些问题。目前,我正在使用带有提交按钮的表单,然后使用if(isset($ _ post),这意味着一旦点击了我不希望的提交按钮,页面将被重新加载。


我的想法是,我需要使用一些jquery或ajex来完成此任务,而无需重新加载表单,但是老实说,我不确定从哪里开始。


我编写了一个函数,该函数以数组形式返回我需要的数据


postcode_api_test.php


<?php

function lookuppostcode($postcode)

{

    $postcode = str_replace(" ", "", $postcode);

    $key = 'MY API KEY';

    $request = 'https://api.getAddress.io/v2/uk/' . $postcode . '?api-key=' . $key;

    $response = file_get_contents($request);

    $jsonresponse = json_decode($response, true);

    $returnData = array();


    $returnData['lat'] = $jsonresponse['Latitude'];

    $returnData['lon'] = $jsonresponse['Longitude'];

    $returnData['totalAddresses'] = count($jsonresponse['Addresses']);


    $addressArray = explode(',', $jsonresponse['Addresses'][0]);

    $returnData['locality'] = $addressArray[4];

    $returnData['city'] = $addressArray[5];

    $returnData['county'] = $addressArray[6];


    $returnData['addresses'] = array();


    foreach ($jsonresponse['Addresses'] as $address) {

        $addressArray = explode(',', $address);

        $fullAddress = '';


        foreach ($addressArray as $item) {

            if ($item != ' ') {

                $fullAddress .= $item . ",";

            }

        }

        $fullAddress = trim($fullAddress, ",");

        $returnData['addresses'][] = array(

            'line1' => $addressArray[0],

            'line2' => $addressArray[1],

            'line3' => $addressArray[2],

            'line4' => $addressArray[3],

            'locality' => $addressArray[4],

            'city' => $addressArray[5],

            'county' => $addressArray[6],

            'fullAddress' => $fullAddress,

        );

    }

    return $returnData;

}

?>


森栏
浏览 135回答 1
1回答
随时随地看视频慕课网APP
我要回答