> For the complete documentation index, see [llms.txt](https://shhn0509.gitbook.io/dom/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://shhn0509.gitbook.io/dom/ajas/ajax-1/ajax-2.md).

# ajax 경로 설정

## ajax 경로 설정

ajax의 경로를 설정할 때는 현재 페이지에서 url의 상대 경로를 설정해야 한다. 이 말은 아래의 url을 기준으로 파일을 찾아야 한다는 말이다.&#x20;

![](https://1258214208-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQG_6grsIF7SikoY7zP%2F-MR35YKYwqNbAz_GDfzi%2F-MR35tJplHO8nPBi-ZbM%2Fimage.png?alt=media\&token=59d1fd3e-cb44-4767-828e-9e3121a53e45)

아래의 코드에서 경로를 설정할 때 `/` 상대경로로 설정했다. 이는 위의 사진의 url의 기준에서 부터 경로를 설정하는 것이다.&#x20;

```javascript
ajax.get('/data/ediya-menu.xml').then(function (xmlDoc) {}
```

즉, `http://127.0.0.1:9000/data/ediya-menu.xml` 이렇게 찾아간다는 말이다.&#x20;

{% hint style="info" %}
`/`, `./` → 상대 경로&#x20;

`../` → 절대 경로&#x20;
{% endhint %}

## 문제&#x20;

처음에 작업 했을 때 작업을 하는 ajax-practice 폴더가 루트가 아닌 더 상위 폴더를 루트로 해서 작업을 했다. 그렇다 보니 `/data/ediya-menu.xml`를 입력했을 때 파일을 찾아오지 못했다.&#x20;

#### &#x20;`/data/ediya-menu.xml`

![필요한 작업 파일만 있는 파일 트리](https://1258214208-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQG_6grsIF7SikoY7zP%2F-MR36kOucOrANqi6bZ1j%2F-MR37wfelE2jck2X_1Qx%2Fimage.png?alt=media\&token=4ed18442-4b40-4254-a6ae-671bca6345c5)

`/__TIL__/ajax_practice/data/ediya-menu.xml`

![복잡한 파일 트리](https://1258214208-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQG_6grsIF7SikoY7zP%2F-MR36kOucOrANqi6bZ1j%2F-MR37z0v_u1kGwENKb3a%2Fimage.png?alt=media\&token=e0cb20b8-ced8-4273-9df5-26c89459696c)

## 원인 및 해결

단순하게 작업하는 파일만 열지 않고 다른 파일도 같이 열었기 때문에 경로가 복잡하게 되었다. 매번 내가 하는 실수이다. 항상 복잡하게 파일을 전부 열어 두는 습관 때문에 이런 일이 빈번하게 발생한다.&#x20;

이를 해결하기 위해서 두 가지 방법

* 해당 작업 파일만 `npx live-server`를 사용해서 구동한다.(Go Live 사용 X)
* 해당 작업의 폴더를 루트로 설정되게 한다. (명령어 : `code .`)
