سؤال

وأنا مجرد الدخول في دوجو وأراد أن محاولة بسيطة AJAX المشاركة مثل في أمثلة على موقع دوجو ل.

وهنا هو 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 مع الانتاج فب من مجموعة فارغة حتى يتم الحصول على نشر أي من المعلومات. ما أفعل الخطأ؟

هل كانت مفيدة؟

المحلول

وهذا هو بسبب خطأ غبي. لم يكن لديك اسم تعيين على أي من عناصر النموذج، معرفات فقط.

نصائح أخرى

ولقد لعب مع نشر البيانات من خلال دوجو الليلة الماضية، ولدي ملاحظة واحدة صغيرة.

dojo.xhrPost () يبدو فقط للعمل في الإصدار الأخير من دوجو الأدوات، عند استخدام الإصدارات السابقة التي تخوض ل<م> dojo.io.iframe.send () ، إذا كنت ترغب في التعامل مع الخادم استجابة يمنحك بعد نشر البيانات. وثائق غير واضحة بعض الشيء في هذا الشأن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top