私は PHP でスクリプトを作成しており、内部には HTML と JavaScript が含まれています。私が欲しいのは、ボタンをクリックすると(HTMLで)、JavaScript関数が呼び出され、関数は「http://localhost/1/2」のようなURLにアクセスする必要があり、ページは以前と同じままです。それは実現可能ですか?
js や php に関係なく、動作させたいだけです。ありがとう。
ページは同じドメインにあるため、Ajaxリクエストを使用できます。
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.send(null);
ただし、これはエラーチェックを行わないことに注意してください。それが必要な場合は、検索で簡単に見つけられる利用可能なチュートリアルが多数あります。
また、同じドメインにないページについては、を使用する<iframe>
ことが可能な場合があります。
var frame = document.createElement("iframe");
frame.src = url;
frame.style.position = "relative";
frame.style.left = "-9999px";
document.body.appendChild(frame);
これは一般に AJAX として知られています (サーバーに要求を送信し、ページから移動せずに応答を受け取ることができます)。
AJAX は最新のすべてのブラウザーでサポートされていますが、矛盾する場合があるため、JQuery、YUIなどの JavaScript フレームワーク、または別のフレームワークを使用することをお勧めします。
私は YUI を使用する傾向があるので、YUI を使用して AJAX リクエストを送信する方法の簡単な例を次に示します。これはIO ユーティリティを使用します。
// Create a YUI instance using io module.
YUI().use("io", function(Y) {
var uri = "http://localhost/1/2";
// Define a function to handle the response data.
function complete() {
Y.log('success!');
};
// Subscribe to event "io:complete"
Y.on('io:complete', complete);
// Make an HTTP request to 'get.php'.
// NOTE: This transaction does not use a configuration object.
var request = Y.io(uri);
});