因上下文发生变化而更改问题。
我想将Javascript变量的值发布到服务器中的另一个页面,使用Ajax进行POST和PHP接收。
我在第1.js页上的Javascript代码:
var data = "test data";
var url = "page2.php";
var http = new XMLHttpRequest();
http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
console.log(data);//this prints "test data" on my page1.js successfully
}else{
console.log(http.readyState); //this always shows different ready states
}
}
这是我在page2.php上的“接收”php代码:
if (isset($_POST)) {
if (isset($_POST["data"])){
echo "SUCCESS"; // I am only testing whether "data" was captured in the POST, for now.
}
}
但它不打印任何东西。
答案 0 :(得分:0)
您可以使用以下代码执行此操作;
$.get("page1.php", function(data) {
var html = $('<div>',{html:data});
var my_content = html.find("#div1").text();
$("#div2").html(my_content);
});
这是一个工作小提琴: http://jsfiddle.net/uKBL3/1/
注意:我使用jsfiddle json service进行ajax模拟。
第二种方式:您可以将page1.php加载到隐藏的div中,并从隐藏的div中读取内容。通过加载到hiddendiv,将触发您的js代码并获取动态内容。之后,您可以阅读您的数据。例如:
$("#hidden_div").load("page2.php", function() {
var html = $(this);
var my_content = html.find("#div1").text();
$("#div2").html(my_content);
})