Я пробовал все варианты запроса AJAX Post, о которых я могу думать, и я все еще не получаю правильный запрос в своем приложении Express.Ошибка с JSON JQuery Ajax POST
var json = {}
var skus = [1,2,3]
json.data = {
"test":"test",
"aoeu":"aoeu"
}
$.post('/jet/api/putProduct',json)
Я упростил этот код, и он все еще не проходит должным образом.
Он появляется на сервере Express в req.body следующим образом.
{data[test]: "test", data[aoeu]: "aoeu"}
Я пробовал json["data"] = ...
и ничего. Я пробовал использовать $.ajax()
и ничего. Я пробовал разные способы построения объекта/массива, и ничего.
Я использую app.use(bodyParser.json())
Я не знаю, где копать глубже, но эта функциональность кажется довольно простой, поэтому я не уверен, где зависание есть.
Может ли кто-нибудь указать мне правильное направление для отладки? Это экспресс-проблема? Я слишком долго тратил на это.
вы отправляете как json, поэтому 'bodyParser.json()' не будет работать. По умолчанию contentType для jQuery ajax - это 'application/x-www-form-urlencoded' – charlietfl
Спасибо за более глубокое понимание. Я пытался $ .ajax() с contentType, установленным в application/json, как это рекомендовано ниже. Проблема была в 'app.use (bodyParser.urlencoded ({extended: false))) Я переключился на true, и теперь все выглядит нормально. Уф. – jheyer159
Ответ ниже на @TechBreak не правильно анализирует данные для json – charlietfl