如何将 Handsontable 数据发布到 WordPress REST API?
Posted
技术标签:
【中文标题】如何将 Handsontable 数据发布到 WordPress REST API?【英文标题】:How to post Handsontable data into WordPress REST API? 【发布时间】:2018-06-30 23:53:05 【问题描述】:我正在尝试使用 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 );
);
);
我收到了这个回复:
"code":"empty_content","message":"内容、标题和摘录是 空。","数据":"状态":400
然而,JSON.stringify(hot.getDataAtRow(0)) 的输出是这样的:
["John Doe","Sample text","publish"]
我尝试了手动设置数据的方式,它可以工作:
data:
"title": "John Doe",
"content": "Sample text",
"status": "publish"
所以我的问题是: 如何从 Handsontable 获取该格式的数据?我需要设置哪个字段是标题、内容、状态、摘录等。
【问题讨论】:
【参考方案1】: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),
【讨论】:
以上是关于如何将 Handsontable 数据发布到 WordPress REST API?的主要内容,如果未能解决你的问题,请参考以下文章
如何将更新的列名从 HandsOnTable 传递到 Shiny 中的绘图?
如何将(批量)Handsontable Json 数组插入到 oracle 表中?