2013-07-08 113 views
5

我正试图编写一个函数,点击后会调用getproduct.php?id=xxx。我可以看到innerHTML部分,但我怎样才能调用实际完成该工作的php页面?如何使用jQuery和AJAX将PHP页面加载到div中?

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

你使用任何的jQuery或其他JS框架? –

+0

我正在使用jquery – Refiking

+1

呃......希望我在回复之前写下你的回复。下一次,您应该在原始帖子中添加该类型的信息。 –

回答

6

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

编辑:原来的问题没有引用jQuery的。留下这个答案作为其他人可能会发现它有用。

这里是你将如何使用XHR对象没有jQuery的或原型或其它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(); 
} 
11

,你可以使用这条线作为一个div内来电或负载PHP页面: -

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

的 “AJAX/page_url.php” 的PHP文件中的相对路径。

所以在这里你可以与外部URL替换它。

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

+2

不知道为什么这不是公认的答案。较少的代码和作品。 – Andrew

0

可以使用get或使用查询

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

example

1

存在通过其可以在页面加载到一个部门多方面POST请求。

非常方法是

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种方法来进行Ajax调用使用jQuery


  • 负载():加载一段HTML放入容器DOM。
  • jQuery.getJSON():负载用GET方法的JSON。
  • jQuery.getScript():加载javascript。
  • jQuery.get():这个,如果你想使一个GET调用,并与广泛的响应玩使用。
  • jQuery.post():这个,如果你想使一个POST调用,并且不希望加载某些容器DOM响应使用。
  • jQuery.ajax():如果您在XHR失败时需要做某些事情,或者您需要在 飞行中指定ajax选项(例如,cache:true),请使用此选项。

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 

     } 
    }); 

} 
相关问题