1

一冊の本でJavaScriptを勉強しています。クライアントとサーバーのサイト通信に関するコードをいじっていたら、次のコード (IE ActiveX オブジェクト XMLHttpRequest を使用) を使用して POST 要求を実行したいと考えました。

<script type="text/javascript">

var oRequest = HTTPRequestUtil.getXmlHttp();

var sRequestType = "post";
var sURLofRequest = "MyPage.aspx";
var bAsnychronously = false;

oRequest.open(sRequestType, sURLofRequest, bAsnychronously);
oRequest.send(null);

alert ('Status is '+oRequest.status+' ('+oRequest.statusText+')');
alert ('Response text is '+oRequest.responseText);

</script>

MyPage.aspx」ページの PAGE_load イベントハンドラーにブレークポイントがあります。上記の HttpRequest が発生すると、その場所で実行が停止することを期待していました (html ボタンのクリックで呼び出されます)。

問題は、リクエストが完了し、responseText (ページの xml コンテンツ) が取得され、ブレークポイントを配置した Page_Load メソッドで停止しないことです。

そのため、呼び出し時に POST 要求タイプで .send() 関数を呼び出すことと、submit() 関数を呼び出すことの違いを理解できません。

主な違いを簡単に説明していただければ幸いです。

ありがとう!

4

1 に答える 1

1

違いは、を使用sendすると、ページをリロードせずにデータが JavaScript 呼び出しルーチンに送り返されますが、フォームを呼び出すsubmitと、フォームがサーバーに送信され、ユーザーが送信ボタンをクリックしたかのように、サーバーから結果がリロードされることです。フォーム。

「送信」は Ajax として知られているもので、たとえば、Stackoverflow の投票ボタンがどのように機能して、ページ全体をリロードせずに投票をサーバーに送り返すかを表します。

于 2009-11-09T10:56:05.403 に答える