문제

나는 단지 dojo에 들어가서 Dojo의 웹 사이트에서.

HTML/JS는 다음과 같습니다.

<form method="POST" id="addProjectForm">
<dl>
    <dt>Project Name:</dt>
        <dd><input dojoType="dijit.form.TextBox" id="projectName"></dd>
    <dt>Project Description:</dt>
        <dd><textarea dojoType="dijit.form.Textarea" id="projectDescription" style="width: 300px; height: 100px"></textarea></dd>
</dl>

<button dojoType="dijit.form.Button" style="float: right">
    Save Project
    <script type="dojo/method" event="onClick">
        dojo.xhrPost({
            url: '/projects/add/',
            load: function(data, ioArgs) {
                alert(data);
            },
            error: function(data, ioArgs) {
                alert('There was an error');
            },
            form: 'addProjectForm'
        });
    </script>
</button>
</form>

그리고 백엔드에는 다음과 같은 것이 있습니다.

class ProjectsController extends Zend_Controller_Action
{
public function addAction()
{
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender(true);

    $projectName    = $this->_request->getParam('projectName');
    $description    = $this->_request->getParam('projectDescription');

    print_r($_POST);
}
}

'프로젝트 저장'버튼을 클릭하면 빈 배열의 PHP 출력이있는 JS 알림 상자가 표시되므로 정보가 게시되지 않습니다. 내가 뭘 잘못하고 있죠?

도움이 되었습니까?

해결책

이것은 바보 같은 실수 때문입니다. 양식 요소에 이름이 설정되어 있지 않았고 ID 만 설정하지 않았습니다.

다른 팁

어젯밤 Dojo를 통해 데이터 게시 데이터를 가지고 놀면서 작은 말이 있습니다.

dojo.xhrpost () Dojo Toolkit의 마지막 버전에서만 작동하는 것 같습니다. 이전 버전을 사용할 때 dojo.io.iframe.send (), 응답 서버를 처리하려면 데이터를 게시 한 후 제공합니다. 문서는 이것에 대해 조금 불분명합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top