Cordova, Framework7 с WP JSON API для аутентификации пользователей и комментариев

У меня есть полнофункциональное приложение Cordova, написанное с использованием Framework7. Работает идеально. Извлекает сообщения, подключается с использованием категорий, тегов и т. д. Позволяет делиться. Это в магазине Play: Проверьте здесь..

Моя проблема заключается в двух вещах: 1. я должен иметь возможность публиковать комментарии напрямую из приложения, чего я не могу использовать JSON POST. Пишет "пользователь должен войти в систему...". На самом деле мой сайт настроен на прием комментариев от всех без входа в систему. Нужно просто ввести адрес электронной почты и имя. Тогда почему этого не происходит из приложения Cordova ?? Смотрите мой код ниже. Вы можете подумать, что у него есть некоторые ошибки сценария, но нет, он отлично вызывает json и показывает мне сообщение об ошибке.

url = "http://punashcha.com/wp-json/wp/v2/";
$$.post(url + 'comments', {
                                NONCE_KEY: '&.~OJCQN_s7*pEW(EG)-26](Eh`Fj}YP.]ZPYC2SPruX` g!/]8c>6>I|`_B[$6i',
                                content: $$(page.container).find('#comment-content').text(),
                                post: $$(page.container).find('#link').attr('postid')
                            },
        function (data) {
            me.alert("आपला अभिप्राय मिळाला. धन्यवाद!");
        },
        function (err, sts) {
            me.alert("आपला अभिप्राय रजिस्टर झाला नाही. " + sts + err.responseText);
        });

Я должен отправить какой-то заголовок или что-то в этом роде?

  1. Я использую плагин членства, который защищает некоторые из моих платных постов. Итак, из мобильного приложения я перенаправляю пользователей на «вход на веб-сайт», а затем вхожу в браузер мобильного приложения. Он поддерживает государство. Как только это будет сделано, это позволит мне получать полные защищенные сообщения. Это означает, что моя функция getJSON отправляет правильные заголовки аутентификации для мобильного пользователя, вошедшего в систему, для получения полных данных из wordpress. Вызов функции -

$$.getJSON(url + "posts/?per_page=10&categories=23,24" + "&_envelope&_embed", function (json) {...})
If my categories 23, 24 are protected then i dont see complete articles, if i am not logged in. But if i am logged in, i can see complete articles. Means this getJSON sends proper headers for user..

Если да, то почему я не могу комментировать в том же сеансе?? это то, что $$.post и $$.getJSON используют разные заголовки?

** я не использую какой-либо плагин JSON и предпочитаю этого не делать.


person vinay samant    schedule 11.10.2017    source источник


Ответы (1)


Привет, Винай, не могли бы вы попробовать использовать функцию AjaxPost ниже вместо использования $$.post()

function AjaxPost(url, data, success, error, async) {
    $$.ajax({
        url: url,
        data: data,
        type: "POST",
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        async: async,
        dataType: "json",
        contentType: "application/json",
        processData: false,
        cache: false,

        success: success,            
        error: error
    });
};

Ответьте на комментарий Vinay. Вы можете добавить «Авторизацию», если хотите Как использовать Basic Auth с jQuery и AJAX? , поэтому функция, указанная выше, станет (включая примерные переменные данные);

var data ={'name':'vinay','framework':'framework7'};


function AjaxPost(url, data, success, error, async) {
    $$.ajax({
        url: url,
        data: data,
        type: "POST",
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json',
            'Authorization' : 'authorizationdata you like'
        },
        async: async,
        dataType: "json",
        contentType: "application/json",
        processData: false,
        cache: false,

        success: success,            
        error: error
    });
};
person prahata    schedule 15.10.2017
comment
конечно прахата, но где и как я могу передать данные комментария?? и мне не нужен код аутентификации в заголовке?? - person vinay samant; 16.10.2017