我尝试使用教程中的示例,但响应文本只是空的。如果我尝试'alert',我会得到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 如果你看错了,可以告诉我吗?
答案 0 :(得分: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);
});
答案 1 :(得分:0)
在许多浏览器中,Javascript安全设置不允许通过file:
协议加载的页面中包含的脚本进行Ajax调用。如果可能,请尝试从可以使用http:
协议的位置加载页面。 Apple的开发者网站http://developer.apple.com/internet/webcontent/xmlhttpreq.html有一些其他注意事项可能会导致您看到的结果。 (向下滚动到“安全问题”部分。)