【发布时间】:2014-10-22 04:30:43
【问题描述】:
我想使用 javascript 请求 xmlhttp 来触发 java 动作 所以我使用以下函数作为函数调用并返回数据,但无法返回响应,因为我在其他内部函数中写了return语句。
function loadXMLDoc(action,request)
{
var act = action+".action"+request;
console.log("load action");
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)
{
return JSON.parse(xmlhttp.responseText);
}
else{
}
};
xmlhttp.open("GET",act,true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send();
}
调用函数......
var data = loadXMLDoc("load","?reuqest=request");
我应该在哪里写 return 以及如何访问返回的数据?
【问题讨论】:
-
由于您有一个 jquery 标签,我建议您考虑使用查询来进行 ajax 调用。它将简化您的生活。
-
@HeadCode 我可以使用 $.ajax() 吗???
-
我在下面添加了另一个答案,以防你想看看。
标签: javascript jquery xmlhttprequest httprequest onreadystatechange