7

getproduct.php?id=xxxクリックすると呼び出される関数を作成しようとしています。その部分を表示することはできますが、実際に機能するページをinnerHTML呼び出すにはどうすればよいでしょうか?php

var id = id;
document.getElementById("digital_download").innerHTML = 
    "Downloading...Please be patient. The process can take a few minutes."; 
url = getproduct.php?id=id;
4

6 に答える 6

15

この行を次のように使用して、div内でphpページを呼び出したりロードしたりできます:-

$("#content_div").load("ajax/page_url.php");

「ajax/page_url.php」はphpファイルの相対パスです。

ここでは、外部 URL に置き換えることもできます。

私が間違っている場合は、知識を共有してください。

于 2013-07-08T05:01:10.547 に答える
9

たとえば、jQueryでそれを行うことができます。

var id = 1;
$('#digital_download').html('Downloading...'); // Show "Downloading..."
// Do an ajax request
$.ajax({
  url: "getproduct.php?id="+id
}).done(function(data) { // data what is sent back by the php page
  $('#digital_download').html(data); // display data
});
于 2013-07-08T04:58:44.160 に答える
2

ページを部門にロードする方法は多数あります。

まさに方法は

var xmlhttp;
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }

xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        document.getElementById('digital_download').innerHTML=xmlhttp.responseText;
    }
}
   xmlhttp.open("GET", 'getproduct.php?id=' + id,true);
   xmlhttp.send();
}

これは外部参照のない典型的な方法です。

参考にすると、jQueryでajax呼び出しを行う5つの方法があります


  • load(): html の一部をコンテナー DOM にロードします。
  • jQuery.getJSON(): GET メソッドで JSON を読み込みます。
  • jQuery.getScript(): JavaScript をロードします。
  • jQuery.get(): GET 呼び出しを行い、応答を広範囲に処理する場合は、これを使用します。
  • jQuery.post(): POST 呼び出しを行い、コンテナ DOM への応答をロードしたくない場合は、これを使用します。
  • jQuery.ajax(): XHR が失敗したときに何かを行う必要がある場合、またはその場で ajax オプション (例: cache: true) を指定する必要がある場合に使用します。

于 2013-07-08T07:54:42.407 に答える
1

編集:元の質問はjQueryを参照していませんでした。他の人が役に立つと思うかもしれないので、この回答をここに残してください。

jQuery、Prototype、またはその他の JS ライブラリを使用せずに ajax リクエストに XHR オブジェクトを使用してこれを行う方法を次に示します。

var xmlhttp;
if (window.XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest();
} else {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById('digital_download').innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", 'getproduct.php?id=' + id,true);
    xmlhttp.send();
}
于 2013-07-08T05:00:19.133 に答える
0

クエリを使用して get または post リクエストを使用できます

$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});

于 2013-07-08T05:02:26.563 に答える