0

我尝试使用教程中的示例,但响应文本只是空的。如果我尝试使用“警报”,我会得到OK,但是使用 responseText,弹出窗口只是空的,里面什么都没有。为什么是这样?

function start(){  
var xhr = getXMLHttpRequest();  
var sVar1 = encodeURIComponent("firstContent");  
var sVar2 = encodeURIComponent("SecondContent");  
xhr.onreadystatechange = function() {  
    if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {  
        //alert("OK");  
                alert(xhr.responseText);  
    }  
}; 



xhr.open("GET", "handlingData.php?variable1=" + sVar1 + "&variable2= " + sVar2, true);  
xhr.send(null);  
}  

onsubmit 调用函数“start”:

form id="form_userlogin" onsubmit="start()"  

和 PHP 页面:

<?php
header("Content-Type: text/plain");  
$variable1 = (isset($_GET["variable1"])) ? $_GET["variable1"] : NULL;  
$variable2 = (isset($_GET["variable2"])) ? $_GET["variable2"] : NULL;  
if ($variable1 && $variable2) {  
    echo "OK";  
} else {  
    echo "FAIL";  
}  
?>   

我认为按照教程可以,但不是;p 如果您发现有问题,请告诉我?

4

2 回答 2

0

嘿,伙计——我可以建议做一些事情来让你的生活更轻松吗?

试试 jQuery 的 ajax 库——很简单

$.GET( url, {var1: val1, var2: val2}, function(data){ // do something with the data given back });

在你的情况下......

$.GET(
   'http://yoursite/ajaxfunction',
   {get_var1: value1, get_var2: value2},
   function (data) {
      alert(data);
   });
于 2011-04-28T02:00:26.157 回答
0

在许多浏览器中,Javascript 安全设置不允许包含在通过file:协议加载的页面中的脚本进行 Ajax 调用。http:如果可能,请尝试从您可以使用该协议的位置加载页面。Apple 的开发者网站http://developer.apple.com/internet/webcontent/xmlhttpreq.html有一些其他考虑因素可能会导致您看到的结果。(向下滚动到“安全问题”部分。)

于 2011-04-28T02:05:19.273 回答