【Web前端问题】fromdata传递数据

请求中使用参数用form-data的形式:

  var content = new window.FormData();

content.append("id", this.id);

content.append("name", this.name);

this.$http.post("test", content)

.then(function (data) {

if(data.status === 200 && data.ok === true){

this.tipsmessage = '保存成功'

this.success = true

}else{

this.tipsmessage = '保存失败'

this.success = false

}

})

.catch(

function (data) {

console.log('请求出错')

}

)

页面传递参数效果:
图片描述

为什么传递格式不是这样呢?

图片描述


根据大家的回答,我做了修改:

this.$http({

url: 'test',

method: 'POST',

data: content,

headers: {

'Content-Type': 'application/x-www-from-urlencoded'

}

})

结果:
图片描述

content-type已经修改成application/x-www-from-urlencoded这个格式了,但是没有显示传递的参数,为什么呢?
图片描述

回答:

content-type 设置跟在数据后面

            //路径   // 参数 // 头设置请求文本类型

axios.post(url',params,{

headers: {

'Content-Type': 'application/x-www-form-urlencoded'

}

})

key:value格式 可以利用new URLSearchParams()方法 然后追加 append元素

json格式 那就 声明拼接 对象值太多转换JSON.stringify()

回答:

你两种content-type不同
你所说的formdata是multipart/form-data,可以附带文件,以流形式发送
你最后一张图上列的请求方式是application/x-www-from-urlencoded,会将参数以kv形式发送,这个才是标准的表单类型

回答:

没有怎么用过vue,但是看帮助文档感觉应该是这样的,你可以试试

this.$http.post('test', {id: this.id, name: this.name}, {'emulateJSON': true})

https://github.com/pagekit/vu...

回答:

this.$http.post("test", {id:xx})

你想key,value传递直接这样就行了。不需要创建formdata对象。
如果你需要上传文件,那就是选择formData在chrome中的显示效果。

以上是 【Web前端问题】fromdata传递数据 的全部内容, 来源链接: utcz.com/a/139832.html

回到顶部