Попытка отобразить значение из массива, возвращенного из внешнего скрипта - PullRequest
1 голос
/ 21 февраля 2020
<script>
var url = "https://api.bridgedataoutput.com/api/v2/zestimates?access_token=3c8b83bd020d7edb2083adccb0670b37&address=";
var path = url + avmaddr;
var my_script = document.createElement('script');
my_script.setAttribute('src',path);
document.head.appendChild(my_script);
</script>

avmaddr извлекается из формы и передается на эту страницу. Например, когда я ввожу адрес в форме, путь = https://api.bridgedataoutput.com/api/v2/zestimates?access_token=3c8b83bd020d7edb2083adccb0670b37&address=1021%20Fortrose%20Dr%2C%20Gallatin%2C%20TN%2037066

Если вы нажмете на этот URL, вы получите это обратно ...

        {
          "success": true,
          "status": 200,
          "bundle": [{
            "id": "133926112",
            "zpid": "99342382",
            "address": " 1021 Fortrose Dr Gallatin TN 37066",
            "coordinates": [-86.526053, 36.371459],
            **
            "zestimate": 471752,
            "upper": 508096,
            "lower": 443027 ** ,
            "date": "2020-02-19T00:00:00.000Z",
            "rental": {
              "zestimate": 2599,
              "upper": 2989,
              "lower": 2209,
              "date": "2020-02-18T00:00:00.000Z"
            },
            "foreclosureZestimate": null,
            "forecastStandardDeviation": 0.09985694289207458,
            "zillowUrl": "https://www.zillow.com/homedetails/99342382_zpid",
            "url": "api.bridgedataoutput.com/api/v2/zestimates/zestimates/133926112"
          }],
          "total": 1
        }

Я хочу отобразить значение для «zestimate», а также «верхний» и «нижний». Любой совет будет принят во внимание! Я не разработчик, поэтому я понятия не имею, что делать дальше!

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Вы можете попытаться использовать fetch , чтобы получить ответ от этого URL:

var url = "https://api.bridgedataoutput.com/api/v2/zestimates?access_token=3c8b83bd020d7edb2083adccb0670b37&address=";
var avmaddr = "1021%20Fortrose%20Dr%2C%20Gallatin%2C%20TN%2037066";

var path = url + avmaddr;

fetch(path).then(function (response) {
  return response.json();
}).then(function (data) {
  var zestimate = data.bundle[0].zestimate;
  var upper = data.bundle[0].upper;
  var lower = data.bundle[0].lower;
  
  console.log(zestimate);
  console.log(upper);
  console.log(lower);
});
1 голос
/ 21 февраля 2020

использование jQuery упростит первую загрузку jQuery в ваш файл html, поместите этот код в тег head вашего html файла:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" </script>

, затем в ваш Javascript файл. используйте jQuery для вызова API:

  $.ajax({
    url: "https://api.bridgedataoutput.com/api/v2/zestimates?access_token=3c8b83bd020d7edb2083adccb0670b37&address=1021%20Fortrose%20Dr%2C%20Gallatin%2C%20TN%2037066",
    dataType: "json",
    success: data => {
      //here you can do whatever you want to the response data:
      alert(data. zestimate);

    }
  })
...