Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript axios+;查询字符串与jQuery,按查询字符串发布数据 我们希望通过ajax发送的数据示例 const数据示例={ “用户id”:“…id”, “支持格式”:14, “supportFormName”:“票证”, “自定义字段”:[ { “customFieldId”:80, “名称”:“主题”, “值”:“…”, “数据类型”:“文本” }, // .... { “customFieldId”:84, “名称”:“说明”, “值”:“…”, “数据类型”:“文本” } ] } jQuery ajax调用 $.ajax({ 键入:“post”, 网址:'http://....', 数据类型:“json”, 数据:数据示例, 成功:函数(数据){/*…*/} }); axios+查询字符串ajax调用 从“axios”导入axios; 从“查询字符串”导入qs const dataQs=qs.stringify(dataExample); 回报新的承诺( 异步(解析、拒绝)=>{ 试一试{ 常数响应=等待axios({ 方法:“post”, 标题:{'content type':'application/x-www-form-urlencoded'}, 数据:dataQs, 网址:'http://....' }); 如果(响应)返回解析(响应) 返回拒绝() }捕获(错误){返回拒绝(错误)} } ); 结果_Javascript_Jquery_Axios_Query String - Fatal编程技术网

Javascript axios+;查询字符串与jQuery,按查询字符串发布数据 我们希望通过ajax发送的数据示例 const数据示例={ “用户id”:“…id”, “支持格式”:14, “supportFormName”:“票证”, “自定义字段”:[ { “customFieldId”:80, “名称”:“主题”, “值”:“…”, “数据类型”:“文本” }, // .... { “customFieldId”:84, “名称”:“说明”, “值”:“…”, “数据类型”:“文本” } ] } jQuery ajax调用 $.ajax({ 键入:“post”, 网址:'http://....', 数据类型:“json”, 数据:数据示例, 成功:函数(数据){/*…*/} }); axios+查询字符串ajax调用 从“axios”导入axios; 从“查询字符串”导入qs const dataQs=qs.stringify(dataExample); 回报新的承诺( 异步(解析、拒绝)=>{ 试一试{ 常数响应=等待axios({ 方法:“post”, 标题:{'content type':'application/x-www-form-urlencoded'}, 数据:dataQs, 网址:'http://....' }); 如果(响应)返回解析(响应) 返回拒绝() }捕获(错误){返回拒绝(错误)} } ); 结果

Javascript axios+;查询字符串与jQuery,按查询字符串发布数据 我们希望通过ajax发送的数据示例 const数据示例={ “用户id”:“…id”, “支持格式”:14, “supportFormName”:“票证”, “自定义字段”:[ { “customFieldId”:80, “名称”:“主题”, “值”:“…”, “数据类型”:“文本” }, // .... { “customFieldId”:84, “名称”:“说明”, “值”:“…”, “数据类型”:“文本” } ] } jQuery ajax调用 $.ajax({ 键入:“post”, 网址:'http://....', 数据类型:“json”, 数据:数据示例, 成功:函数(数据){/*…*/} }); axios+查询字符串ajax调用 从“axios”导入axios; 从“查询字符串”导入qs const dataQs=qs.stringify(dataExample); 回报新的承诺( 异步(解析、拒绝)=>{ 试一试{ 常数响应=等待axios({ 方法:“post”, 标题:{'content type':'application/x-www-form-urlencoded'}, 数据:dataQs, 网址:'http://....' }); 如果(响应)返回解析(响应) 返回拒绝() }捕获(错误){返回拒绝(错误)} } ); 结果,javascript,jquery,axios,query-string,Javascript,Jquery,Axios,Query String,问题 jQuery从来没有任何类型的问题,但是axios+查询字符串,尽管有不同的标题,如 'content-type':'application/json', “内容类型”:“多部分/表单数据”, 和/或 可选的字符串化选项,如 constdataqs=qs.stringify(数据,{encode:false}) const dataQs=qs.stringify(数据,{arrayFormat:'index',commaSuffix:'bracket'}) const dataQs=qs

问题 jQuery从来没有任何类型的问题,但是axios+查询字符串,尽管有不同的标题,如

'content-type':'application/json',
“内容类型”:“多部分/表单数据”,
和/或 可选的字符串化选项,如

constdataqs=qs.stringify(数据,{encode:false})
const dataQs=qs.stringify(数据,{arrayFormat:'index',commaSuffix:'bracket'})
const dataQs=qs.stringify(数据,{arrayFormat:'index'})
const dataQs=qs.stringify(数据,{arrayFormat:'forests'})
const dataQs=qs.stringify(数据,{arrayFormat:'repeat'})
const dataQs=qs.stringify(数据,{arrayFormat:'comma'})
始终断开数据


要获得与jQuery相同的结果,哪种是正确的axios+查询字符串(或可选)代码?

您可以使用以下代码

const objectToQueryString=(initialObj)=>{
const reducer=(obj,parentPrefix=null)=>(prev,key)=>{
const val=obj[key];
键=组件(键);
const prefix=parentPrefix?`${parentPrefix}[${key}]`:key;
if(val==null | | typeof val==='function'){
prev.push(`${prefix}=`);
返回上一个;
}
if(['number','boolean','string'].includes(typeof val)){
prev.push(`${prefix}=${encodeURIComponent(val)}`);
返回上一个;
}
prev.push(Object.keys(val).reduce(reducer(val,前缀),[]).join('&');
返回上一个;
};
返回Object.keys(initialObj).reduce(reducer(initialObj),[]).join('&');
};
objectToQueryString({
姓名:“约翰·多伊”,
年龄:20,,
儿童:[
{name:'Foo Doe'},
{name:'Bar Doe'}
],
妻子:{
姓名:“简·多伊”
}
});
//->name=John%20Doe&age=20&children[0][name]=Foo%20Doe&children[1][name]=Bar%20Doe&layer[name]=Jane%20Doe
摘自下面的要点


使用jQuery发送json格式的数据,使用axios发送url/参数(查询字符串)编码的数据。当您使用查询字符串时,它总是使用axios进行url编码;无论您使用什么标题(内容类型)。也许服务器只能处理json数据,因此它与jQuery一起工作,而与axios一起失败。您是否访问并查看了服务器日志?您可以使用
JSON.stringify
格式化数据字符串,并使用
内容类型:application/JSON
进行尝试。只是一个猜测。这就是我一直在寻找的解决方案!!!非常感谢,它很有效!!!你将在23小时内获得50+:)嗨,塔伦。有没有办法和你联系一个潜在的咨询工作,