CakePHP и JQuery пост данных - PullRequest
       4

CakePHP и JQuery пост данных

0 голосов
/ 02 апреля 2011

Я использую jquery с cakephp, и мне нужно отправить некоторые данные в функцию обновления контроллера. Мне нужно, чтобы он был отделен, чтобы он выглядел так в fiddler

Name                   |    Value
data[Answer][1][body]  |    John DC
data[Answer][2][body]  |    Company
data[Answer][3][body]  |    Title
data[Answer][4][body]  |    Country
data[Answer][5][body]  |    Email
data[Answer][6][body]  |    Phone
data[Answer][7][body]  |    test




Name                                                                                                                   |  Value
    data[Answer][1][body]:John DC,data[Answer][2][body]:Company,data[Answer][3][body]:Title,data[Answer][4][body]:Country,data[Answer][5][body]:Email,data[Answer][6][body]:Phone,data[Answer][7][body]:test    |

Так что все это отображается в столбце Имя.

Вот мой аякс

$j(document).ready(function() { 
    $j('#form').click( function () {
        alert("hi");
        $j.ajax({

             type: 'post',    

             data:  
                    "data[Answer][1][body]:" +  $j('#ID1').val() + 
                    ",data[Answer][2][body]:" + $j('#ID2').val() + 
                    ",data[Answer][3][body]:" + $j('#ID3').val() + 
                    ",data[Answer][4][body]:" + $j('#ID4').val() +
                    ",data[Answer][5][body]:" + $j('#ID5').val() +
                    ",data[Answer][6][body]:" + $j('#ID6').val() +
                    ",data[Answer][7][body]:" + $j('#ID7').val(),

             url: "/mypage/update",
             success: function(){
                alert("Done");
              }
            });

     });  
 });

спасибо

1 Ответ

1 голос
/ 02 апреля 2011

Есть ли веская причина, по которой ваши элементы с # ID1 по # ID7 не имеют атрибута name в нужном вам формате?

Это произойдет автоматически, если вы используете echo $this->Form->input('Answer.1.body') для визуализации полей ввода. Если вам не нравится то, что FormHelper дает вам по умолчанию, есть много способов настроить вывод.

Затем вы можете использовать что-то вроде jQuery("#ID1,#ID2...").serialize(), чтобы помочь отправить ваши данные обратно на сервер. Похоже, вам нужно, чтобы фреймворки jQuery и CakePHP сделали больше работы за вас:)

...