1 回答

TA貢獻1804條經(jīng)驗 獲得超7個贊
放開讓我來!
問題完全是因為 request 的 Content-Type 有問題!
jQuery Ajax 默認用的是 'application/x-www-form-urlencoded; charset=UTF-8'
也就是說 body 部分默認按照 url 解析方式解析,就是 request.body 部分按照 key=value&foo=bar 方式解析,解析后得到 {key:value,foo:bar}. 你傳遞一個 JSON.stringify 后的 json string, 那就等價于傳遞 {"a":1}=, 你把 json string 當 key 了!
正確姿勢:contentType: "multipart/form-data"
var data = {
keywords: "...",
name: "123"
};
$.ajax({
url: "url",
type: "POST",
dataType: "json",
contentType: "multipart/form-data",
data: JSON.stringify(self.getData())
}).done(function (data) {
// todo
});
添加回答
舉報