从ajax调用返回值到javascript
return value from ajax call to javascript
我调用ajax从asp页面获取值并返回到调用javascript,代码如下
函数getNameFromSession(){xmlhttp=GetXmlHttpObject();if(xmlhttp==null){alert("您的浏览器不支持AJAX");回来}var url="getImageName.asp";url=url+"?fetch_name=1";xmlhttp.open("GET",url,true);xmlhttp.send(null);xmlhttp.onreadystatechange=函数(){if(xmlhttp.readyState==4){alert(xmlhttp.responseText);返回xmlhttp.responseText;}}}
函数中的alert显示了正确的值,但javascript未定义为值,有人能告诉我如何从这个ajax向javascript调用函数
代码中的行
return xmlhttp.responseText;
并没有返回值的地方。您要么需要传递一个带有请求的回调函数来进一步处理它,要么处理它。
if(xmlHttp.readyState == 4)
有条件的。
这是因为您的主函数getNameFromSession
没有返回任何内容。
您可以做的是将onreadystatechange
处理程序的响应分配给一个变量,然后在调用getNameFromSession
后检索该变量。
AJAX是异步的,这意味着发送请求,然后代码继续。返回语句发生在函数完成之后。您应该将需要对该返回值执行的任何操作移动到函数本身中。
只需将xmlhttp.open中的第三个参数设置为false("GET",url,true)来同步ajax。通过这种方式,它将等待服务器给出响应,然后再将控件返回到调用java脚本。
函数getNameFromSession(){xmlhttp=GetXmlHttpObject();if(xmlhttp==null){alert("您的浏览器不支持AJAX");回来}var url="getImageName.asp";url=url+"?fetch_name=1";xmlhttp.open("GET",url,false);xmlhttp.send(null);xmlhttp.onreadystatechange=函数(){if(xmlhttp.readyState==4){alert(xmlhttp.responseText);返回xmlhttp.responseText;}}}
相关文章:
- Javascript返回值只在循环中返回一次
- 使用在函数外部声明的变量的 Javascript 返回值 + undefined
- 如何在Android中将Javascript返回值转换为String
- 将 javascript 返回值插入 html
- 从表单javascript返回值时出现问题
- 如何将javascript返回值分配给razor变量
- 将javascript返回值传递给MVC 4中的控制器
- 函数的JavaScript返回值
- HTML5输入类型radio向Javascript返回值
- 如何将客户端javascript返回值传递给ASP经典服务器端
- javascript返回值总是未定义的
- 在 java 中捕获 javascript 返回值
- 将函数的 JavaScript 返回值存储到服务器端的相应 Asp Control OnClick 事件
- WKWebView评估JavaScript返回值
- Javascript-返回值或使用回调函数
- JavaScript返回值:What dos<>意思是
- 在trick中使用javascript返回值
- 如何在承诺javascript返回值
- 如何在html中使用JavaScript返回值
- 从javascript返回值到html