我使用getjson获取一些数据,我想将ajax xmlhttprequest发送到php页面并将getjson响应变量发送到该php脚本来处理并回发结果。我的getjson和xmlhttprequest工作正常,但唯一的问题是siteContents变量永远不会通过ajax xmlhttprequest传递给我的doit.php脚本!我百分百确定siteContents不是空的,因为我使用alert测试它。你能不能告诉我我做错了什么?我应该更改我的doit.php脚本,以便正确地获取传递的变量吗?
<script>
$.getJSON('http://www.somesite.com/getit.php&callback=?', function(data){
//$('#output').html(data.contents);
var siteContents = data.contents;
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","http://www.mysite.com/doit.php?Name=test&Id=12345",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("outputtext="+siteContents);
});
</script>
和我的doit.php脚本的一部分:
$nam = $_GET['Name'];
echo $nam;
echo "<br>";
$id = $_GET['Id'];
echo $id;
echo "<br>";
$file_contents = stripslashes($_POST['outputtext']);
echo $file_contents;