2016-08-18 3 views
0

私はXPagesアプリケーションでgoogle chart apiを使用しようとしています。 ドキュメントで指定されているコード例を使用しています。https://developers.google.com/chart/interactive/docs/php_example#exampleusingphphtml-fileJquery AJAX呼び出しで認証が必要です

LSエージェントの呼び出しによってPHPページの呼び出しを置き換える必要があります。

 var jsonData = $.ajax({ 
     url: "getData.php", 
     dataType: "json", 
     async: false 
     }).responseText; 

だから私のコードは、に行く:私のローカルDominoサーバー上

 var jsonData = $.ajax({ 
     url: "http://server/database/agent?openagent", 
     dataType: "json", 
     async: false 
     }).responseText; 

、それが正常に動作します。 プロダクションドミノサーバーでは、何も得られません。グラフは描画されません。 jsクライアント側をデバッグした後、以前にログインしなくてもajax呼び出しが認証を期待しているようです。

両方のサーバーで匿名アクセスが許可されていません。 両方の環境でセキュリティレベルが同じように見えます

何か助けてもらえますか?あなたは、ローカルサーバではなく、運用サーバーでGoogleのチャートを描画することができるならば

はあなたに

+0

あなたは匿名HTTPをアクセスすることを許可されていないことを確認していますか?データベースのACLを確認します。また、ローカルのDominoサーバーと本番サーバーの両方でhttp:// server/database/agent?openagentに直接アクセスしてみてください。 –

+0

私は両方のサーバーでエージェントの呼び出しをチェックしました。 両方のサーバーでは、エージェントの結果を取得する前にログインする必要があります 両方のデータベースのLCAで匿名のエントリがアクセスなしに設定されています NetDeamonのソリューションを実装しようとしましたが、 – Techn0fil

+1

匿名でエージェントを使用できるようにするには、匿名ユーザーにACLで正しいアクセスを許可する必要があります。 –

答えて

0

最後に、私はJQueryの代わりにdojoを使ってajaxリクエストを実行しようとしました。 私のコードは、このいずれかになりました:

var jsonData = dojo.xhrGet({ 
    url: "http://server/database/agent?openagent", 
    handleAs:"json", 
    ... 
}) 

私は、セキュリティレベルまたは何か他に何も変更しませんでした。

jquery構文がdojo構文とうまく機能しない理由を理解できません。とにかく、現在作業中です。 ?//サーバー/データベース/エージェントopenagentローカルのDominoサーバー上:あなたの提案のためのすべての

多くのおかげで

0

をありがとう、これはあなたのサーバーの問題であることを意味します。

あなたは、認証されたAJAXリクエスト

$.ajax({ 
    headers: { 
    "Authorization": "Bearer <TOKEN HERE>" 
    } 
}) 

あなたはまたsend username and password in jquery ajax call、認証された要求をすることができますを作るためにauthentication header in your jquery ajax callを追加することができます。ここでは、リンクのサンプルコードは

$.ajax({ 
    type: 'GET', 
    url: 'url', 
    dataType: 'json', 
    //whatever you need 
    beforeSend: function (xhr) { 
     xhr.setRequestHeader('Authorization', make_base_auth(user, password)); 
    }, 
    success: function() {}); 
}); 

function make_base_auth(user, password) { 
    var tok = user + ':' + password; 
    var hash = btoa(tok); 
    return 'Basic ' + hash; 
} 
+0

こんにちは、 すごくお返事ありがとうございます。 残念ながら、ajax呼び出しのヘッダーがうまく機能しません。 ハッシュメソッドの結果は、ドミノサーバーが資格情報として期待しているものではないと思います 私は調査を続けます – Techn0fil

+0

プロダクションサーバーにログインすると(通常のログインページから)、通常のajax呼び出しを行うとどうなりますか。認証エラーが発生しますか? ajax呼び出しのヘッダーにトークンまたはユーザー名/パスワードを渡すことは、サーバーがそれを考慮する場合にのみ機能し、それ以外の場合は機能しません。 – Netdeamon

関連する問題