2016-12-30 2 views
0

У меня проблема с загрузкой blob с помощью ajax. Я пробовал много вариантов, и они не работают.AJAX не удается загрузить изображение блоба

Должен сказать, что одни и те же переменные (хотя и с разными именами) работают при использовании php в стандартном смысле, но не при использовании ajax.

Пожалуйста, помогите

Аякса код:

$(function() { 

$("#upload").click(function() { 
    // validate and process form here 

    var username = $("input#username").val(); 

    var title = $("input#title").val(); 

    var image = $("#image").get(0).files.item(0); 

    var information = tinymce.get('blogcontent').getContent(); 

    var dt = new Date(); 

// variable for blog date and time 
    var dateandtime = dt.toLocaleString(); 

var dataString = 'username=' + username + '&title=' + title + '&image=' + image + '&information=' + information + '&dateandtime=' + dateandtime; 
$.ajax({ 
type: "POST", 
url: "functions/insertblogpost.php", 
data: dataString, 
success: function() { 

    $('#writeblog').html("<div id='message'></div>"); 
    $('#message').html("<h2>User account created!</h2>") 
    .append("<p>Please go back to login.</p>") 
    .hide() 
    .fadeIn(1000, function() { 
    $('#message').append("<a href='../../Mobileapptemplate.php'>Back</a>"); 
    }); 
} 
}); 


return false; 

    }); 
}); 

И сценарий РНР:

$connection = mysqli_connect($dbserver, $dbusername, $dbpassword, $database); 

     $username = $_POST[ 'username' ]; 

     $blogTitle = $_POST["title"]; 

     $blogContent = $_POST["information"]; 

     $blogpicturename = $_FILES["image"]["name"]; 

     $blogpicdata = mysqli_real_escape_string($connection, file_get_contents($_FILES["image"]["tmp_name"])); 

     $blogpictype = $_FILES['image']['type']; 

     $dateAndTime = $_POST["dateandtime"]; 
     $result = "INSERT INTO ct5006ho_users.$username (postnumber, user, title, 
     picturename, picture, blogpost, dateandtime) VALUES ('', '$username', '$blogTitle','$blogpicturename', 
     '$blogpicdata','$blogContent', '$dateAndTime');"; 

//if (
mysqli_query($connection, $result); 

Соединение устанавливается в порядке и все другие добавления данных к PhpMyAdmin созданной базы данных , Я пропустил эти детали из кода.

+0

var image = $ ("# image"). Get (0) .files.item (0); –

+0

var image = $ ("# image"). Get (0) .files.item (0); был на самом деле изначально var image = $ ("# image"). Val(); Ни одна из этих опций не работает –

+0

Как многие примеры использовали разные функции, я особенно старался использовать передачу данных tinymce и переменные времени. –

ответ

0

Вот ответ:

$ (функция() {

$("#upload").click(function() { 
    // validate and process form here 
tinyMCE.triggerSave(); 
    var form = $('form')[0]; // 
    var formData = new FormData(form); 


$.ajax({ 
type: "POST", 
url: "functions/insertblogpost.php", 
data: formData, // Data sent to server, a se 
contentType: false,  
    cache: false,    // To unable request pages to be cached 
processData:false, 
success: function() { .................... 

Если кто-нибудь имеет подобный вопрос, пожалуйста, использовать этот опыт, чтобы помочь вам

Примечание - tinyMCE.triggerSave (.); - отправляет данные tinyMCE, и это была моя оригинальная проблема с данными: formData,

Ну, стреляйте в меня, чтобы спросить!

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