私はずっと前にこの問題に遭遇し、当時はそれを研究する気にはなれませんでしたが、今夜私はこの問題を一晩研究しました、そしてBaiduはそれをたくさん持っていました。しかし、これらの答えは糞便です。これは本当に迷惑です。コードを投稿するだけで大丈夫です。完全なコードを送信し、それが本当に解決されているかどうかを人々に確認させてから、ゴミの山の中で答えを見つけてください。
この問題を解決するために、私自身が元のプロジェクトでデモファイルを作成しました。
問題について話させてください。axiosから投稿を送信したとき、JavaScriptによって送信されたデータは常にJavaバックグラウンドで値なしで処理され、メソッドも使用されませんでした。このエラーを報告し続けますorg.springframework.web.HttpRequestMethodNotSupportedException:リクエストメソッド「GET」はサポートされていません。コンソールのネットワークを見ると、GET接続も送信され続けており、メッセージヘッダーは確かにPOST接続です。このaxiosは本当にごみです!!!
次の方法は、値を受け取るために使用できません
axios.post('/userUel', {
param: '1'
}, {
// cancelToken: source.token
})
@ResponseBody
@RequestMapping(value = "/getHobbys", method ={RequestMethod.POST})
public Hobbys getHobbys( @RequestParam(value = "id",required = false) String id){
System.out.println("-----------------------------");
System.out.println("id:"+id);//结果 id:null
}
qs.jsからjson形式を使用して値を転送するBaiduは、この種のすべてであり、役に立たないのです。
//这是.vue的使用,如果百度.js的方式实现,还是没用,后台得到的值空值
const qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 }));
mport qs from 'qs';
const data = { 'bar': 123 };
const options = {
method: 'POST',
headers: { 'content-type': 'application/x-www-form-urlencoded' },
data: qs.stringify(data),
url,
};
axios(options)
リアルで効果的で、プロテストに問題はありません!
var app1=new Vue({
el:'#app1',
id:'1',
created: function (){
this.getHobbysAll(1);
},
methods: {
getHobbysAll: function (id) {
var str = '{"id":23}';
console.log(str);
const params = new URLSearchParams();
params.append('id', '1');
axios.post('http://localhost:8080/getHobbys', params).then(function (response) {
console.log("12345");
console.log(response);
console.assert(response!=null)
var arr = response.data;
console.log(arr)
});
}
}
})
問題が解決したことを確認して証明すると便利です。
Baiduクラウドディスク:リンク:https
://pan.baidu.com/s/189rLR36W8fH_evIgL_IQug抽出コード:010r