我尝试使用WP REST API将数据从Handsontable发布到WordPress中。这就是我试过的:
$('#publish').on('click',function(e){
var data = JSON.stringify(hot.getDataAtRow(0));
$.ajax({
url: 'domain.com/staging/wp-json/wp/v2/posts/',
method: 'POST',
crossDomain: true,
dataType: 'json',
contentType: 'application/json',
data: data,
beforeSend : function(xhr) {
xhr.setRequestHeader( 'X-WP-Nonce', wpApiSettings.nonce );
},
success: function( data ) {
console.log( data );
},
error: function ( error ) {
console.log( error );
}
});
});
我收到了这个回复:
{"代码":" empty_content","消息":"内容,标题和摘录为 。空""数据" {"状态" 400}}
但是, JSON.stringify(hot.getDataAtRow(0))的输出如下所示:
["John Doe","Sample text","publish"]
我通过设置这样的数据尝试手动方式,它起作用:
data: {
"title": "John Doe",
"content": "Sample text",
"status": "publish"
}
所以我的问题是: 如何从该格式的Handsontable获取数据?我需要设置哪个字段是标题,内容,状态,摘录等。
答案 0 :(得分:0)
JSON.stringify(hot.getDataAtRow(0))
的输出会获得一个字符串数组,而API需要一个包含3个字段的对象。
尝试:
var data = {
"title": hot.getDataAtCell(0, 0),
"content": hot.getDataAtCell(0, 1),
"status": hot.getDataAtCell(0, 2),
};
然后在你的AJAX电话中:
data: JSON.stringify(data),