Как я могу получить доступ к json-файлу из моей статической папки в cshtml-файл с помощью jQuery? - PullRequest
0 голосов
/ 08 июня 2019

Я пытаюсь получить данные из файла json в раскрывающемся списке "Штаты и города".Моя проблема возникла, когда я пытался открыть файл json с помощью jQuery.Мой код не работал, поэтому я решил устранить его самостоятельно.Я хотел зарегистрировать свои данные в консоли, чтобы убедиться, что они работают правильно.Однако из-за всего, что я пробовал, я получаю ошибку 404, что файл json не может быть найден.

Это то, что я пробовал до сих пор, основываясь на структуре моих папок (я использовал следующее в $ .getJSON (''), который можно найти ниже в коде):

  • '~ / custom / json / usaCities.json'
  • '~ / wwwroot / custom / json / usaCities.json'
  • '.. / .. / wwwroot/custom/json/usaCities.json'

Также я попытался поместить файл json в ту же папку, что и файл cshtml:

  • 'usaCities.json'


RegisterDetail.cshtml:

<script type="text/javascript">
    $(document).ready(() => {
        $.getJSON('usaCities.json', (data) => {
            $.each(data, (index, value) => {
                console.log(index[1] + " - " + value[1] + "\n" + index[0] + " - " + value[0] + "\n\n");
            });
        });
    });
</script>

usaCities.json (Это не весь файл, поскольку он слишкоммного, но это пример структуры):

[
  {
    "city": "Abbeville",
    "state": "Louisiana"
  },
  {
    "city": "Aberdeen",
    "state": "Maryland"
  },
  {
    "city": "Aberdeen",
    "state": "Mississippi"
  },
  {
    "city": "Aberdeen",
    "state": "South Dakota"
  },
  {
    "city": "Aberdeen",
    "state": "Washington"
  }
]

Структура моего проекта (он содержит registerDetail.cshtml и usaCities.json, который находится в каталоге wwwroot кака также каталог Views)

image

Вот ошибка, которую я получаю, когда пытаюсь использовать опции выше (расположение файлов различно для каждого error в зависимости от того, как я пытаюсь его получить):

image

Пожалуйста, помогите, без этого или подобного подхода, я не знаю, как я смогучтобы раскрывающийся список работал с файлом json.

1 Ответ

0 голосов
/ 09 июня 2019

эта строка является проблемой

$.getJSON('usaCities.json', (data) => {

, потому что вы помещаете свой json в папку custom / json, поэтому вам нужно изменить код на

$.getJSON('./custom/json/usaCities.json', (data) => {
...