不好意思,上面代码里面多了写颜色标记,呵呵!请大家帮帮忙!
/*接受返回值*/
function insertWebEdit(){
var xTxt=sendRequest();//这里就不能得到返回值
alert(xTxt);
}/*发送请求函数*/
function sendRequest() {
var url="print.asp";
createXMLHttpRequest();
XMLHttpReq.open("POST", url, true);
XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XMLHttpReq.send(); // 发送请求
}
/*处理返回信息函数*/
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
var sTxt=XMLHttpReq.responseText;//接收信息
window.alert(sTxt);//这里是正确的
return sTxt;//返回sTxt
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
/*接受返回值*/
function insertWebEdit(){
var xTxt=sendRequest();//这里就不能得到返回值
alert(xTxt);
}/*发送请求函数*/
function sendRequest() {
var url="print.asp";
createXMLHttpRequest();
XMLHttpReq.open("POST", url, true);
XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XMLHttpReq.send(); // 发送请求
}
/*处理返回信息函数*/
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
var sTxt=XMLHttpReq.responseText;//接收信息
window.alert(sTxt);//这里是正确的
return sTxt;//返回sTxt
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
解决方案 »
- 为什么我无法将图片drag-drop到浏览器指定的位置
- 这种写法为什么会报错?
- input标签获取焦点时文本框内提示信息清空 火狐怎么实现
- 请教如果使用键盘关闭JS的alert对话框
- javascript能把%表示的字符(如%20表示空格)转换成正常的字符码?
- 用javascript做网页和图片
- 求救:如何用javascript解决最佳菜单问题呢??
- 主页面中有两个iframe,一个特别快,一个特别慢,怎么办?
- 新手 求校验一个form中几百个文本框都不能为空的javascript写法
- 将一串又规律的字符串转换成对象(数组,JSON,...都可以!)
- XMLHttpRequest的请求方式问题
- iframe自动适应连接内容高度的问题
var url="print.asp";
createXMLHttpRequest();
XMLHttpReq.open("POST", url, false);//改成同步模式
XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XMLHttpReq.send(); // 发送请求
return XMLHttpReq.responseText
}
这样呢?
不过同步异步区别还是有的这样就可以看出同步异步了
function sendRequest() {
var str=""
var url="print.asp";
createXMLHttpRequest();
XMLHttpReq.open("POST", url, false);//改成同步模式
XMLHttpReq.onreadystatechange = function(){if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
str=XMLHttpReq.responseText;//接收信息
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}}
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XMLHttpReq.send(); // 发送请求
return str
}
同步 return str=""
异步 return str=XMLHttpReq.responseText
这样写已经是错的如果需要XMLHttpReq.responseText再进行其他处理,就应该把这些处理放在processResponse()中,或者在processResponse()中再调用其他方法