2015-10-07 2 views
0

Как отправить большой массив данных base64 с использованием jQuery Ajax. Вот мой код:Почтовые данные не отправляются с использованием jQuery Ajax-запроса

$.ajax({ 
     type: "POST", 
     url: "addPhoto.php",         
     data:{photosArray:photosArray}, 
     dataType: "json",   
     success: function(data) {     
       $(data).each(function(){ 
        ... 
       }); 
     }   
}); 

photosArray содержит от 3 до 12 очень длинных строк, как:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0...

Есть ли какие-либо ограничения на размер данных POST в Ajax?

+0

Вы имеете в виду, что запрос отправлен, а ваши серверные скрипты ничего не видят или что запрос никогда не был сделан? Если первые смотрят на настройки вашего сервера, некоторое программное обеспечение ограничивает размер отправляемого сообщения, например, php имеет 'post_max_size' и' upload_max_filesize'. –

ответ

0

Откройте файл php.ini и найдите строку с надписью upload_max_filesize. По умолчанию он установлен в 2M, что составляет 2 МБ. Попробуйте увеличить его до 3 МБ и посмотреть, не по-прежнему ли вы получаете ошибку. И использовать

 "cache": false 
+0

@Vivien Neault, вы должны поддержать за правильный ответ. Это может быть полезно для тех, кто сталкивается с одной и той же проблемой. –

0

Правильно ли объявлены ваши данные? Это может быть строка, объект или массив. попробуйте следовать

$.ajax({ 
    type: "POST", 
    url: "addPhoto.php",         
    data:"{photosArray:photosArray}", 
    dataType: "json",   
    success: function(data) {     
      $(data).each(function(){ 
       ... 
      }); 
    }  
}); 
+0

Спасибо, это работает. Проблема заключалась в post_max_size и upload_max_filesize в php.ini! –

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