ajax form submit funktioniert nicht auf iPhone Safari

Ich habe ein Formular erstellt, das dem Benutzer erlaubt, um ein Foto auszuwählen. Bei der Auswahl des Formulars automatisch per ajax (im Gegensatz zu einem standard-submit-button). Es funktioniert in allen Browsern, aber es funktioniert nicht auf der mobilen version von safari.

Mein HTML:

<form id="myForm" action="php/upload.php" method="post">
<input name="uploadedfile" type="file" id="uploadPhotoButton"/>
</form>

Meine javascript:

$(':file').change(function(){
    var formData = new FormData($('form')[0]);
    $.ajax({
        url: 'php/upload.php',  //server script to process data
        type: 'POST',
        success: uploadComplete,
        //Form data
        data: formData,
        //Options to tell JQuery not to process data or worry about content-type
        cache: false,
        contentType: false,
        processData: false
    });
});

Auf dem iPhone Safari, der change handler-Funktion aufgerufen wird, in Ordnung, aber der ajax-Aufruf fehlschlägt.

Irgendwelche Vorschläge?

  • OK, es stellt sich heraus, dass der Aufruf von ajax ist in Ordnung, aber aus irgendeinem Grund das php-Skript ruft es versagt nur auf dem iPhone-Safari, wenn Sie versucht, die Datei hochzuladen: $target_path = "../uploads/"; $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { } else{ } move_uploaded_file ist die Rückgabe false.
InformationsquelleAutor Kyle | 2012-12-04
Schreibe einen Kommentar