我正在尝试使用 qwest
将一些数据发送到Elasticsearch:
qwest.post(
'http://elk.example.com:9200/incidents',
this.incident,
{cache: true}
)
.then(function (xhr, response) {
console.log('incident posted')
})
.catch(function (e, xhr, response) {
console.log('error posing incident: ' + e)
})
其中
this.incident
是Object
(来自Vue.js)。call 失败并显示
406 (Not Acceptable)
错误,我understand是来自Elasticsearch服务器的信息,告诉我我想要某种格式的答案,他无法使用。call 仍然失败(没有索引文件),所以我不确定我的理解是否正确?
如果是这样-请问正确的格式是什么?
最佳答案
incident
对象不是正确序列化的JSON字符串。您需要调用JSON.stringify(this.incident)
以获得等效的JSON字符串,并指定application/json
HTTP header 。
$.ajax({
url: 'http://example.com:9200/incidents/incidents',
type: 'POST',
data: JSON.stringify(this.incident),
dataType: 'json'
})