0

私は現在、私が働いている学校向けのWebアプリケーションを開発しています。専用サーバーの1つにFROGというプログラムがあります。残念ながら、これは非常にロックダウンされており、GUIを使用してWebサイトを作成します。その上で実行できる最も多くのコーディングは、HTMLとjavascriptです。

私たちも所有しているリモートサーバーから情報を取得できるようにしたい。クロスドメインの制限により、ajaxを使用できません。しかし、私は回避策を考え出しました。

xrequest.jsというファイル内のリモートサーバーでこの関数呼び出しがあります。

loadNotices({[{title: 'this is a test'},{title: 'this is another test'}]});

これは、引数として渡されたjsonオブジェクトを使用した単純な関数呼び出しです(引数は、最終的にデータベースから取得されたデータから生成されます)。

私の他の制限されたサーバーには、次のjavacriptがあります。

<script type="text/javascript">
function loadNotices(data)
{
    alert(data);
}

var url = "http://somedomain.com/tests/xrequest.js";
var script = document.createElement('script');
script.setAttribute('src', url);

document.getElementsByTagName('head')[0].appendChild(script); 
</script>
<div id="notices"></div>

私がやりたいのは、xrequest.jsファイルの各タイトルをループして、それらをリストとして表示することです。

タイトルをループする方法がわかりません。

さらに情報が必要な場合は、コメントを残してください。どんな助けでも適用されます。

どうもありがとう

フィル

4

2 に答える 2

1

タイトルをループするには、最初に配列を囲む中括弧を削除する必要があります。その後、以下のようにタイトルをループします。

function loadNotices(arr) {
    var title, i = 0;
    for (; i < arr.length; i++) {
        title = arr[i].title;
    }
}​

また、変更を検討してください:

document.getElementsByTagName('head')[0].appendChild(script); 

document.head.appendChild(script); 
于 2012-08-10T12:36:14.200 に答える
0

実装は JSONP 呼び出しのように見えます。Jqueryを使えば簡単にできます

$.get('url?callback', {<data>}, function(data){

});

URLの?callback最後に、jquery autoがランダムなコールバック関数を作成します。通常の JSON を返す代わりに、サーバーでラッパー コールバック関数を追加できます。PHPの例:

$callback = $_GET['callback'];
echo $callback.'('.json_encode(obj).');';

なるだろう

callback({your return data>});

スクリプトはそれを受け取ります。

loadNotices({[{title: 'this is a test'},{title: 'this is another test'}]});

この関数呼び出しは正しくありません。代わりに次のようにしてください。

loadNotices([{title: 'this is a test'},{title: 'this is another test'}]);

次に、このようにタイトルをループできます

for (i = 0; i < titles.length; i++){
   alert(titles[i].title);
}
于 2012-08-10T12:35:24.460 に答える