【发布时间】:2012-06-02 19:27:31
【问题描述】:
我有以下客户端代码从手机上传图片
$("#placeorder").click(
function() {
if ($('#placeorderform').valid()) {
var formData = $('#placeorderform').serialize();
formData += "&uploaded="+ imgData;
$.ajax({
type : "POST",
url : _host+ "/addorder.php",
data : formData,
dataType : 'jsonp',
success : onSuccess,
error : onError
});
}
});
服务器端 PHP(不工作)
$encodedData = str_replace(' ','+',$_POST['uploaded']);
服务器端 PHP($_REQUEST 或 $_GET 有效;但适用于小图像)
$encodedData = str_replace(' ','+',$_REQUEST['uploaded']);
我的客户端代码有什么问题。
补充意见:
我尝试检查请求标头并发现令人惊讶的结果。当我在浏览器中执行以上 ajax 时,数据是在 POST 中接收的。但是在Phonegap 内部,即使在明确提及类型:“POST”之后,也会在GET 中接收数据。
有人可以解释一下这些行为吗 :( 我的 Phonegap 配置有问题吗?
【问题讨论】:
-
如果它只适用于“小图像”,那么您的客户端代码就可以了 - 听起来更像是对您的帖子施加了文件大小限制。
-
谢谢。但是相同图像的发布失败;使用 get 或 request 类型时有效。
标签: jquery ajax post file-upload cordova