2017-10-11 11 views
0

私はFramework7を使用して書かれた、完全に機能するCordova Appを持っています。完璧に動作します。投稿を取得し、カテゴリ、タグなどを使用して接続します。共有を許可します。プレイストアにあります:Check Here..Cordova、Framework7 with WP JSON API with user authentication and comment

私の問題は、2つの事柄です: 1.私はJSON POSTを使用することができないアプリから直接コメントを投稿できるはずです。それは "ユーザーがログインする必要があります.."と言います。実際に私のサイトはログインせずに誰かからコメントを受け入れるように設定されています。 1つは、電子メールと名前を入力するだけです。それでは、なぜcordovaアプリから起こっていないのですか?以下の私のコードを見てください。

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); 
 
     });

..あなたは、それはいくつかのスクリプトエラーを持っていることを考えるかもしれないが、いや、それは完全にJSONを呼び出して、私はエラーメッセージを示して、私はいくつかのヘッダか何かを送信すると仮定のですか?

  1. 私は有料の投稿の一部を保護するメンバーシッププラグインを使用しています。だからモバイルアプリから、私は "ウェブサイトのログイン"にユーザーを誘導し、モバイルアプリケーションのブラウザにログインして取得します。それは状態を維持する。これが完了すると、完全な保護された投稿を取得できます。これは私のgetJSON関数は、ワードプレスから..関数呼び出しがあり、完全なデータをフェッチするためにログインしているユーザーのモバイルのための適切な認証ヘッダを送信することを意味します - 私のカテゴリは23、24は、その後、保護されている場合

$$.getJSON(url + "posts/?per_page=10&categories=23,24" + "&_envelope&_embed", function (json) {...})
I私はログインしていない場合は、完全な記事を参照してください。しかし、私はログインしている、私は完全な記事を見ることができます。このgetJSONがユーザーのために適切なヘッダーを送信することを意味します。

もしそうなら、私はなぜ同じセッションでコメントをしますか? それはそれです$$。投稿& $$。getJSONは異なるヘッダーを使用しますか?

**私はJSONプラグインを使用していません。

答えて

0

こんにちはビナイあなたは$$使用するのではなくAjaxPost機能の下に使用しようとするだろう。ポスト()

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のコメントあなたはHow to use Basic Auth with jQuery and 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 
    }); 
}; 
+0

確かにプラハータですが、コメントデータをどこに渡しますか? と私はヘッダーに任意の認証コードが必要ですか? –