如何使用readyonstatechange函数返回数据
how can I use readyonstatechange function to return data
我想使用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,如何访问返回的数据?
更改方法以进行回调:
function loadXMLDoc(action,request, callback)
在中向您的loadXMLDoc
传递回调
loadXMLDoc("load","?reuqest=request", function(data) {
console.log(data);
});
并在您的成功中调用回调:
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
callback(xmlhttp.responseText);
}
我不理解你的URL中的".action",但Jquery的答案可能看起来像这个
function loadXML(url, cb){
$.get(url, function(data){
cb(data);
});
}
function myFunc(data){
alert(data);
}
loadXML("http://www.example.com/test.xml", myFunc);
相关文章:
- AJAX调用并在Node中获取返回数据
- 角度服务未返回数据
- 统计ajax返回数据中的html元素
- 有没有更好的方法可以测量从Ajax调用返回数据所需的总时间
- Imgur API图像搜索未返回数据
- javascript对象显示为null,但object.properties返回数据
- 如何从ajax调用JQuery返回数据
- 试图从嵌套的回调函数返回数据
- NodeJS FS 不从多个文件返回数据
- ajax函数未在C#中返回数据
- 如何在公共js模块中从web服务返回数据
- 将字符串与 JSON 对象组合以返回数据
- 嵌套异步函数未及时返回数据的问题
- NodeJS JSONStream 以一个长字符串的形式返回数据
- 如何使用 HTML 图像请求将数据发送到服务器,或返回数据作为响应
- 从 Angular 模态服务中的模态主体模板返回数据
- jQuery 每个循环返回数据两次
- $.getJSON 在返回数据后不会运行函数
- 如何访问返回数据中的特定json值
- 工厂返回数据后未设置角度$scope