如何将Handsontable数据发布到WordPress REST API?

时间:2018-01-22 11:02:31

标签: json ajax wordpress api handsontable

我尝试使用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获取数据?我需要设置哪个字段是标题,内容,状态,摘录等。

1 个答案:

答案 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),