2013-09-16 4 views
0

Я отправляю данные в двух частях через AJAX:Сериализация форму с помощью JQuery

data: { 
    imageData: ctx.imageData, 
    formData: $("#content-add-form").serialize() 
}, 

imageData является базой 64 закодированные изображения, которые затем изменены и сохранены с помощью PHP скрипт.

formData все поля формы. Проблема в том, что выходит на другом конце, как:

title=my+title&date=16-09-2013 

Как я могу отправить его так каждое поле представляет собой массив? А также использовать метод serialize()?

ответ

1

Вы можете использовать сериализацию. Ниже приведен пример.

$("#submit_btn").click(function(){ 
    $('.error_status').html(); 
     if($("form#frm_message_board").valid()) 
     { 
      $.ajax({ 
        type: "POST", 
        url: "<?php echo site_url('message_board/add');?>", 
        data: $('#frm_message_board').serialize(), 
        success: function(msg) { 
         var msg = $.parseJSON(msg); 
         if(msg.success=='yes') 
         { 
                     return true; 
        } 
        else 
        { 
         alert('Server error'); 
         return false; 
        } 
        } 
      }); 
     } 
     return false; 
    }); 
+0

Как указано в моем первоначальном вопросе, seralize не работает. – panthro

+0

Вы можете отправить свои данные в формате json. Используйте функцию json_encode и отправляйте данные в виде строки. –

+0

Это не работает, потому что json encode - это функция php, а не js. – panthro

Смежные вопросы