【发布时间】:2012-11-22 11:51:37
【问题描述】:
我创建了一个允许用户选择照片的表单。选择后,表单会通过 ajax 自动提交(而不是标准提交按钮)。它适用于所有浏览器,但不适用于移动版 safari。
我的 HTML:
<form id="myForm" action="php/upload.php" method="post">
<input name="uploadedfile" type="file" id="uploadPhotoButton"/>
</form>
我的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
});
});
在 iPhone Safari 上,更改处理函数调用正常,但 ajax 调用失败。
有什么建议吗?
【问题讨论】:
-
好的,事实证明对 ajax 的调用工作正常,但由于某种原因,它调用的 php 脚本在尝试上传文件时仅在 iPhone Safari 上失败:
$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 正在返回假的。
标签: jquery iphone ajax forms safari