Форматируйте данные с помощью JQuery для отправки на контроллер CakePHP - PullRequest
4 голосов
/ 25 августа 2010

Я немного новичок в Ajax / Jquery, поэтому я прошу прощения, если это простой вопрос, но я просто не мог понять это.

Я использую CakePHP и JQuery.

Я хочу сохранить ссылку, метку и описание в таблице, вытянув «innerHTML» со страницы HTML. Кажется, я не могу поместить данные в ожидаемый формат - это тот формат, который ожидает контроллер.

Я вытягиваю данные из HTML, HTML выглядит так:

<div class="listing">
 <ul>
   <li class="link">www.yahoo.com</li>
   <li class="label">Yahoo</li>
   <li class="description">This is Yahoo's home page</li>
   </ul>
</div>
...   

Я могу разобрать HTML и получить мои "ссылку", "метку" и "описание".

Но, когда я отправляю данные на контроллер, я не могу понять, как получить данные в ожидаемом формате.

После извлечения данных в переменные с помощью JavaScript (JQuery) я публикую их, используя следующую функцию JQuery:

$.post("/links/save", {link: link, label: label, notes: description});

Когда данные отправляются на контроллер, формат данных:

(
  [form] => Array
  (
    [link] => www.yahoo.com
    [label] => Yahoo
    [description] => This is Yahoo's home page
  )
)

Формат, в котором контроллер ожидает данные:

(
  [data] => Array
  (
    [Link] => Array
    (
      [link] => www.yahoo.com
      [label] => Yahoo
      [description] => This is Yahoo's home page
    )
  )
)

Я знаю, что могу взять данные в том виде, как они есть, и поместить их в соответствующий формат в контроллере, но, похоже, это не нужно.

Может кто-нибудь подсказать, пожалуйста, как манипулировать данными в JQuery, чтобы они отправляли сообщения, как того ожидает контроллер?

Ответы [ 2 ]

1 голос
/ 25 августа 2010

В CakePHP все еще есть PHP, так что вы можете просто использовать $_POST.

Хотя может быть удобнее придерживаться структур данных Cake, поэтому для автоматического заполнения $this->data необходимо отформатироватьданные как это:

{ data : { ModelName : { link : ..., ... } } }
0 голосов
/ 25 августа 2010

Вы ищете $ this-> params ['form']?

http://book.cakephp.org/view/55/The-Parameters-Attribute-params

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