Как я могу сделать запрос к WordPress от nodejs - PullRequest
0 голосов
/ 28 января 2019

Это то, что у меня есть, и оно не работает.Мне нужно обновить поле acf на wordpres из приложения nodejs:

var username = 'username';
var password = '****';
var auth = 'Basic ' + Buffer.from(username + ':' + 
password).toString('base64');


var clientServerOptions = {
uri: 'http://localhost/wp-admin/admin-ajax.php',
body: JSON.stringify({action:'microserviceOnline', update : '1', field : 'wschannel_status', micro: '138'}),
method: 'POST',  
headers: {
  'Content-Type': 'application/json',
  'accept': 'application/json',
  'Authorization': auth
 }
} 


request(clientServerOptions, function (error, response) { 
    console.log(response);
});

Это то, что у меня есть в файле functions.php в папке темы:

function microserviceOnline() {
  global $post;

  // Update the field 
  update_field($_POST['field'], $_POST['update'], $_POST['micro']);

  die(':)');  

}
add_action( 'wp_ajax_nopriv_microserviceOnline',  'microserviceOnline' );
add_action( 'wp_ajax_microserviceOnline','microserviceOnline' );

1 Ответ

0 голосов
/ 28 января 2019

Вы отправляете JSON, но затем пытаетесь получить к нему доступ, как если бы вы отправили форму в кодировке URI ($_POST['field'] и т. Д., См. здесь ).Это немного похоже на разговор по-английски с торговым автоматом, который ожидает, что вы нажмете кнопку, чтобы выбрать свой товар.

Либо отправьте данные формы в кодировке URI, либо обработайте то, что вы получите на сервере, в формате JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...