나는 맞춤 모듈을 가지고있다. 사용자 정의 모듈의 레이아웃 파일에서는 고객의 모듈에서 레이아웃을 참조 :Magento - 자바 스크립트에서 컨트롤러 URL 구성하기
<?xml version="1.0"?>
<layout version="0.1.0">
<customer_account_login>
<reference name="before_body_end">
<block type="mymodule/myblock" name="mymodule_myblock" as="mymodule_myblock" />
</reference>
</customer_account_login>
</layout>
내 블록 클래스의 _toHtml() 메소드가 일부 자바 스크립트를 반환합니다. 이 JavaScript는 내 모듈의 컨트롤러에 비동기 XMLHttpRequest를 만듭니다. 그것은 잘 작동하지만 해결할 방법을 잘 모르겠다는 한 가지 문제가 있습니다 ...
내 첫 번째 시도에서 내 JavaScript의 XMLHttpRequest가/mymodule/mycontroller/myaction에 POST되었을 때 작동하지 않았습니다. 나는 404를 얻었다). 요청이 만들어진 페이지는 http://myplace.com/index.php/customer/account/login/ 이었으므로 POST 요청이 생성 된 URL에 "/index.php"가 추가되어 이제는 /index.php/mymodule/mycontroller/myaction이되었습니다. 그게 효과가 있었어. 그러나 그것은 일반적인 것이 아닙니다.
제 질문은 내 URL에서 index.php를 제거하는 방법이 아닙니다. (이 사이트의 게시물을 보았습니다.) Magento 설치에 내 확장 프로그램이 설치되어 있어야합니다. 특정 경우에 URL을 구성하는 방법을 알아야합니다.
페이지는 항상 customer/account/login이 아니므로 window.location.pathname을보고 결과를 파싱 할 수는 없습니다.
아이디어가 있으십니까?
감사합니다.
사실, 그냥 아이디어가있었습니다. _toHtml에서 '기본 URL이 무엇인지'를 말할 수 있고 'http://myplace.com/index.php'또는 'index.php'라는 대답을 얻으면 JS I에이를 포함시킬 수 있습니다. 브라우저로 전달하십시오. 나는 그것을 조사 할 것입니다 ... – user265330