dojo.xhrPost не отправляет данные - PullRequest
1 голос
/ 04 марта 2009

Я только вхожу в Додзё и хотел попробовать простую AJAX-публикацию, такую ​​как examples on Сайт Додзё.

Вот 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);
}
}

Когда я нажимаю кнопку «Сохранить проект», я получаю окно предупреждения JS с выводом php пустого массива, поэтому никакая информация не публикуется. Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 04 марта 2009

Это из-за глупой ошибки. У меня не было задано имя ни для одного из элементов формы, только идентификаторы.

0 голосов
/ 12 марта 2009

Прошлой ночью я играл с данными POSTing через Dojo, у меня есть одно небольшое замечание.

dojo.xhrPost () , похоже, работает только в последней версии Dojo Toolkit, при использовании предыдущих версий вы заблокированы в dojo.io.iframe.send () , если вы хотите обработать ответ сервера, который выдает вам после размещения данных. Документация по этому вопросу немного неясна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...