1

JQUERYはありません。JSP、ASP、ZXZに似たピープルコードを使用しています。このスクリプトから「HelloWorld」というテキストを取得しようとすると、ajaxリクエストがトリガーされます...

Function IScript_AJAX_Test()  
   %Response.Write("<div id='hello'>Hello World</div>");  
End-Function;

ajax呼び出しを行う私のjavascript関数は次のようになります...

function AJAX_test (ajax_link) {

  if (typeof XMLHttpRequest == 'undefined') {
            XMLHttpRequest = function() {
                try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch(e) {}
                try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch(e) {}
                try { return new ActiveXObject("Msxml2.XMLHTTP"); }     catch(e) {}
                try { return new ActiveXObject("Microsoft.XMLHTTP"); }  catch(e) {}

            throw new Error('This browser does not support XMLHttpRequest or XMLHTTP.');
            };
        }
  var request = new XMLHttpRequest();
  request.onreadystatechange = function() {
    if (request.readyState == 4 && request.status == 200) {

      document.getElementById('ajax').innerHTML = request.responseText.document.getElementById('hello').innerHTML;
      //document.getElementById('ajax').innerHTML = 'Testing';
    }  
  }
  request.open('GET', ajax_link, true);
  request.send(); 

  //document.getElementById('ajax').innerHTML = ajax_link;
}

あなたがこの行で見ることができるように。

document.getElementById('ajax').innerHTML = request.responseText.document.getElementById('hello').innerHTML;

...IDからinnerHTMLを取得してテキストを取得しようとしています。しかし、これは機能していません。ボタンをクリックしても何も起こりません。

以下の行を使用してみましたが、IDが(おそらくPeoplesoftのせいで)あるまったく新しいページが返されます...

document.getElementById('ajax').innerHTML = request.responseText;

誰かが私がこれを達成するのを手伝ってくれますか...

4

3 に答える 3

0

それを簡単に:

Function IScript_AJAX_Test()  
   %Response.Write("Hello World");  
End-Function;

Javascript:

document.getElementById('ajax').innerHTML = request.responseText;
于 2012-10-25T16:53:10.710 に答える
0

Ajaxには2つのタイプがあります。1つはサーバー側で、もう1つはクライアント側です。クライアント側からデータを取得しようとしています。この場合、ajaxはページの一部ではなくページ全体の結果のみをフェッチします。書くとページ全体の結果(HTML出力)が得られます

document.getElementById('ajax').innerHTML = request.responseText;

ただし、別のページの特定の部分のinnerHtml部分だけをフェッチすることはできません。その場合、ページ全体が表示されます。

于 2012-10-25T17:00:52.220 に答える
0

私はあなたのコードを試しました、そしてそれは私のために働きます、

Function IScript_AJAX_Test()  
   %Response.Write("<div id='hello'>Hello World");  
End-Function;

とjavascriptで

document.getElementById('ajax').innerHTML = request.responseText;

ポータルサーブレット(psp)ではなく、コンテンツサーブレット(psc)を呼び出すようにしてください。例:'http:// peoplesofturl / psc /ps/EMPLOYEE/HRMS/s/WEBLIB_Z_SYS.FUNCLIB.FieldFormula.IScript_AJAX_Test' peoplesoftポータルでラップされた応答を取得します。

GenerateScriptContentRelURLまたはGenerateScriptContentURL関数を使用して、ピープルコードからURLを生成できます。

于 2012-10-26T10:16:44.913 に答える