最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Post object as JSon with Axios - Stack Overflow

programmeradmin1浏览0评论

I have an object named entry with properties name, surname, age.

I try to use axios to send this object with post request to my REST server.

axios.post('http://host/myurl/myservice/',{data:this.ent})

However this fails with

400 Bad request

Because what is actually is being send is

 data: {data: {"name":"Jakob", "surname":"Laurence", "age":"25"} }

There is an extra data field which is not recognized on the server.

if I call

axios.post('http://host/myurl/myservice/',{
"name":this.entry.name, "surname":this.entry.surname, "age":this.entry.age 
})

Then everything works fine.

How can I post the entire object without axios generating extra data field, so that my server does not bee confused?

Thanks.

P.S. All the above is going on in my Vue project (not sure if it's relevant).

I have an object named entry with properties name, surname, age.

I try to use axios to send this object with post request to my REST server.

axios.post('http://host/myurl/myservice/',{data:this.ent})

However this fails with

400 Bad request

Because what is actually is being send is

 data: {data: {"name":"Jakob", "surname":"Laurence", "age":"25"} }

There is an extra data field which is not recognized on the server.

if I call

axios.post('http://host/myurl/myservice/',{
"name":this.entry.name, "surname":this.entry.surname, "age":this.entry.age 
})

Then everything works fine.

How can I post the entire object without axios generating extra data field, so that my server does not bee confused?

Thanks.

P.S. All the above is going on in my Vue project (not sure if it's relevant).

Share Improve this question asked Nov 28, 2018 at 9:27 PKeyPKey 3,8412 gold badges19 silver badges42 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 6

Direct pass the whole object:

axios.post('http://host/myurl/myservice/', this.ent);

define the data as a constant before adding it to the axios url.

const postData = {
  name: this.entry.name,
  surname: this.entry.surname,
  age: this.entry.age
}
axios.post('http://host/myurl/myservice/', postData)
发布评论

评论列表(0)

  1. 暂无评论
ok 不同模板 switch ($forum['model']) { /*case '0': include _include(APP_PATH . 'view/htm/read.htm'); break;*/ default: include _include(theme_load('read', $fid)); break; } } break; case '10': // 主题外链 / thread external link http_location(htmlspecialchars_decode(trim($thread['description']))); break; case '11': // 单页 / single page $attachlist = array(); $imagelist = array(); $thread['filelist'] = array(); $threadlist = NULL; $thread['files'] > 0 and list($attachlist, $imagelist, $thread['filelist']) = well_attach_find_by_tid($tid); $data = data_read_cache($tid); empty($data) and message(-1, lang('data_malformation')); $tidlist = $forum['threads'] ? page_find_by_fid($fid, $page, $pagesize) : NULL; if ($tidlist) { $tidarr = arrlist_values($tidlist, 'tid'); $threadlist = well_thread_find($tidarr, $pagesize); // 按之前tidlist排序 $threadlist = array2_sort_key($threadlist, $tidlist, 'tid'); } $allowpost = forum_access_user($fid, $gid, 'allowpost'); $allowupdate = forum_access_mod($fid, $gid, 'allowupdate'); $allowdelete = forum_access_mod($fid, $gid, 'allowdelete'); $access = array('allowpost' => $allowpost, 'allowupdate' => $allowupdate, 'allowdelete' => $allowdelete); $header['title'] = $thread['subject']; $header['mobile_link'] = $thread['url']; $header['keywords'] = $thread['keyword'] ? $thread['keyword'] : $thread['subject']; $header['description'] = $thread['description'] ? $thread['description'] : $thread['brief']; $_SESSION['fid'] = $fid; if ($ajax) { empty($conf['api_on']) and message(0, lang('closed')); $apilist['header'] = $header; $apilist['extra'] = $extra; $apilist['access'] = $access; $apilist['thread'] = well_thread_safe_info($thread); $apilist['thread_data'] = $data; $apilist['forum'] = $forum; $apilist['imagelist'] = $imagelist; $apilist['filelist'] = $thread['filelist']; $apilist['threadlist'] = $threadlist; message(0, $apilist); } else { include _include(theme_load('single_page', $fid)); } break; default: message(-1, lang('data_malformation')); break; } ?>