0

www.website.com/data.jsp などの URL があるとします。

リンクには次の JSON データがあります

{"successful":"true","rows":[{"zip":"65472","user_id":"10843","name":"Rufio"}]}

実行時にこのデータを抽出できるようにしたいだけですが、getJSON を使用して取得するのに苦労しています

$.getJSON("test2.jsp",function(result){
                $("div").append(result.rows[0].user_id + " ");
            });

上記のように、test2.jsp にデータが存在するローカル ファイルを使用して実行すると、user_id が追加されます。ただし、「www.website.com/data.jsp」にアクセスしようとすると、代わりに何も起こりません。Web サイトが JSONP で動作するように構成されているとも思えません。

実行時に Web サイトからこのデータを取得する方法を理解する方法が必要です。誰かが解決策や回避策を持っていますか?

psこれは、相手側で整理する必要があるかもしれないものですか? Web サイトの所有者は、このシナリオを偽の API 呼び出しのように設定しました。通常は、パラメーターを渡して必要な特定の情報を取得します。このエンドポイントまたは URL の場合、単一のレコードを返すか、ファイルに上記のデータのみが含まれます。実行時に URL からデータを抽出してほしいとのことです。

4

1 に答える 1

2

同じオリジン ポリシーにより、この他のドメインに対して通常の ajax 呼び出しを行うことはできません。

JSONP を使用してリモート ページをロードできますが、その出力例を見ると、リモート サイトが JSONP 用にセットアップされていない限り (JSON を変数に割り当てたり、コールバック関数を呼び出したりするなど)、データにアクセスすることはできません。

独自のサーバー側パススルー スクリプトを作成できます。利用可能なサーバー側のテクノロジーについては言及していませんが、PHP を使用できる場合は、次のようなパススルーを行います。

<?php
echo file_get_contents("http://www.website.com/data.jsp");
?>

PHP (またはその他のサーバー側言語) はリモート データを取得でき、ajax を使用して独自のスクリプトを呼び出すことができます (同じドメインにいるため、これは機能します)。

于 2013-04-10T01:56:27.140 に答える