表单里的输入框,我先将他们用一个form包围起来,然后放在一个data里,在url里进行传递。 表单里还有个图片上传,后端需要的是二进制参数,formdata
后端所需要的
我就按照自己的想法写了一下,从网上搜如何把file转化为pinary
var file = $("#logo").get(0).files[0];
var fileSize = file.size,
fileType = file.type;
if (file.name.lastIndexOf(".") == -1) {
layer.msg("路径不正确");
return false;
}
var AllImgExt = ".jpg|.jpeg|.gif|.bmp|.png|.swf|";
var extName = file.name
.substring(file.name.lastIndexOf("."))
.toLowerCase();
if (AllImgExt.indexOf(extName + "|") == -1) {
layer.msg("非法图片格式");
return false;
}
if (fileSize < 3145728) {
if (window.FileReader) {
var reader = new FileReader();
reader.readAsBinaryString(file);
reader.onload = function (e) {
var formData = new FormData();
formData.append("logo", file);
在Ajax里进行请求时,我却难住了,因为不知道content-type该怎么写,按照网上搜的写,却一直报 415的错误
我的Ajax是这么写
$.ajax({
url: "/oms-web/users?token=" + token + "&" + other_data, //后台地址
type: "post",
data: formData,
contentType:
"multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", //格式转换为binary
processData: false, // 使数据不做处理
contentType: false,
dataType: "json",
success: function (data) {
console.log(data);
if (data.code == -1) {
// window.location = '../login-1.html'
}
if (data.code == 0) {
layer.msg(
"创建成功",
{ icon: 1, time: 100 },
function () {
parent.layer.close(iframeIndex);
window.parent.location.reload(); //修改成功后刷新父界面
}
);
} else {
layer.msg(data.msg, { icon: 2 }, function () {
// parent.layer.close(iframeIndex);
});
}
},
error: function () {
layer.msg("数据出错!");
},
});
大家能帮帮我解决一下吗?谢谢大家