>  기사  >  백엔드 개발  >  javascript - Thinkphp에서 ajax를 사용할 때 상대 주소를 사용하면 오류가 보고되는 경우가 있는데 이유가 무엇인가요?

javascript - Thinkphp에서 ajax를 사용할 때 상대 주소를 사용하면 오류가 보고되는 경우가 있는데 이유가 무엇인가요?

WBOY
WBOY원래의
2016-08-18 09:16:151122검색

예:

<code>var root=window.location.origin;

$.post(root+"/"+url,data,function(d){
    console.log(d);
  if(d.status==1){
    location.reload();
  }
})
</code>

예를 들어 위 코드에서 URL은 이미 U 메서드를 사용하여 상대 주소를 얻었습니다.
게시할 때 URL을 직접 사용하면 전체 페이지가 반환됩니다.
루트를 추가한 후에는 정상적으로 사용할 수 있습니다.

혹시 비슷한 상황을 겪으신 적이 있나요?

이런 일은 일부 장소에서만 발생하며 일반적인 상황에서는 발생하지 않습니다.

이 페이지는 Baidu 편집기를 사용하고 있는데 영향이 있나요?

추가 설명:
위 내용이 명확하게 표현되지 않을 수 있습니다. 루트를 추가한 후 요청 주소는 root+"/"+url이었습니다.
을 추가하지 않았을 때 요청 주소는 url입니다. 이번에는 앞에 "/"를 추가하지 않았습니다.

이 페이지의 URL 주소는 Thinkphp의 U 메소드를 사용하여 얻은 것입니다. 물론 직접 액세스할 수 있고 정확한 주소이기 때문에 이런 질문이 있습니다.

답글 내용:

예:

<code>var root=window.location.origin;

$.post(root+"/"+url,data,function(d){
    console.log(d);
  if(d.status==1){
    location.reload();
  }
})
</code>

예를 들어 위 코드에서 URL은 이미 U 메서드를 사용하여 상대 주소를 얻었습니다.
게시할 때 URL을 직접 사용하면 전체 페이지가 반환됩니다.
루트를 추가한 후에는 정상적으로 사용할 수 있습니다.

혹시 비슷한 상황을 겪으신 적이 있나요?

이런 일은 일부 장소에서만 발생하며 일반적으로는 발생하지 않습니다.

이 페이지는 Baidu 편집기를 사용하고 있는데 영향이 있나요?

추가 설명:
위 내용이 명확하게 표현되지 않을 수 있습니다. 루트를 추가한 후 요청 주소는 root+"/"+url이었습니다.
을 추가하지 않았을 때 요청 주소는 url입니다. 이번에는 앞에 "/"를 추가하지 않았습니다.

이 페이지의 URL 주소는 Thinkphp의 U 메소드를 사용하여 얻은 것입니다. 물론 직접 액세스할 수 있고 정확한 주소이기 때문에 이런 질문이 있습니다.

상대 주소는 현재 브라우저 주소 표시줄을 기준으로 한 상대 주소이며 ThinkPHP와는 아무런 관련이 없습니다.

/는 루트 주소입니다. 도메인 이름 +/+url에서 직접 액세스하려면 /를 사용하세요. 방문한 지하 주소가 루트 주소인 경우에도 검색되지 않는 문제가 발생합니다.
window.location.origin을 사용한다는 것은 요청한 URL이 window.location.origin의 상대 주소 아래에 있다는 것을 의미합니다.
루트 디렉터리에서 AJAX 요청 경로를 시작하는 것이 좋습니다. 이 문제 자체는 요청 주소에 대한 잘못된 이해와 관련이 없습니다.

base_url대파는 좋다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.