如何通过xmlhttprequest post方法将getJSON响应变量发送到ajax

时间:2013-02-03 17:38:14

标签: php javascript html ajax xmlhttprequest

我使用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;

0 个答案:

没有答案