0

Chrome拡張機能を作成していますが、ユーザー名からプロフィール写真を取得できるようにしたいと考えています。残念ながら、WebサイトのAPIはなく、プロファイルURLとプロファイル名の間に相関関係はありません。検索ajaxを乗っ取って、それを使って目標を達成できると思いました。残念ながら、機能していないようです。権限を追加しましたが、コンテンツスクリプトで実行されていませんが、まだ機能していません。

$.getJSON("http://www.website.com/user/search",{user:name},function(a){
    alert(1);
    alert(a.data);
});

何も起こっていないので、それは静かに失敗しています。それでも、その理由はわかりません。呼び出しから受信する必要があるjson(手動でサイトに表示される)は次のとおりです。{"error":false、 "action":null、 "one":true、 "data":143217}残念ながら機能していません。JSONPはオプションではありません。サイトは明らかにそれをサポートする必要がないので、助けてください。何が間違っているのかわかりません。

編集:問題があります。リクエストを実行しようとすると、ユーザー/検索(?userなし)にリダイレクトされますが、失敗します。

4

2 に答える 2

1

アクセスしようとしているサイトでは、検索を実行する前に認証が必要です。サーバーは検索を実行できるようにログイン資格情報を持つセッションを探しているため、ajax リクエストからの応答は得られません。ajax は認証されておらず、セッションが確立されていないため、リクエストは「失敗」せず、サーバーの 302 リダイレクト応答を取得しているだけです。

ユーザー検索を続行する前に、セッションと必要な変数を確立するために、クエリしようとしているページに「サインイン」する必要があります。

于 2012-06-27T19:34:08.133 に答える
0

Content-typeウェブサイトの検索APIがヘッダーをとして返さない可能性があります。これは正しく機能text/jsonするために必要です。$.getJSON

返されたデータを使用$.getして呼び出すだけにしてみてください。JSON.parse

于 2012-06-27T18:59:10.443 に答える