如何使用jQuery和AJAX将PHP页面加载到div中?

时间:2013-07-08 04:55:13

标签: php javascript jquery ajax

我正在尝试编写一个在单击时调用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;

6 个答案:

答案 0 :(得分:11)

您可以使用以下行在div中调用或加载php页面: -

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

“ajax / page_url.php”是php文件的相对路径。

所以在这里你也可以用外部网址替换它。

如果我错了,请分享你的知识。

答案 1 :(得分:7)

你可以用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
});

答案 2 :(得分: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();
}

这是一种没有外部参考的典型方法。

如果您参考,那么有5种方法可以使用jQuery进行ajax调用


  • load():将一段html加载到容器DOM中。
  • jQuery.getJSON():使用GET方法加载JSON。
  • jQuery.getScript():加载JavaScript。
  • jQuery.get():如果您想进行GET调用并广泛播放响应,请使用此选项。
  • jQuery.post():如果您想进行POST调用并且不想将响应加载到某个容器DOM,请使用此选项。
  • jQuery.ajax():如果您在XHR失败时需要执行某些操作,或者您需要在其上指定ajax选项(例如,cache:true),请使用此选项 飞。

答案 3 :(得分:1)

编辑:原始问题没有引用jQuery。将这个答案留在这里,其他人可能会觉得它很有用。

以下是如何使用XHR对象为没有jQuery或Prototype或其他JS库的ajax请求执行此操作。

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();
}

答案 4 :(得分:0)

您可以使用查询

来使用get或post请求
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});

example

答案 5 :(得分:0)

您好您可以调用以下函数来执行此操作,它会在成功时从服务器加载数据,您也可以创建失败函数

 function setValue(Id) {
 document.getElementById("digital_download").innerHTML = 
"Downloading...Please be patient. The process can take a few minutes.";
 var data1 = {
        message: Id,
    };

    $.ajax({
      data: data1,
      type: 'GET',
      url: "http://urltoscript/index.php",
     cache: false,
        dataType: "json",
        crossDomain: true,
        success: function(data) {
        console.log("Response for cancel is: " + data);

     document.getElementById("digital_download").innerHTML =  data

      }
    });

 }