ajax返回值的问题

问题描述

<script type="text/javascript"> var xmlHttp;var stateString; function createXMLHttpRequest(){ if (window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }else if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); } } function sendServer() { createXMLHttpRequest(); var url="/SSH/login.do"; xmlHttp.open("post",url,true); xmlHttp.onreadystatechange = callback; xmlHttp.send(null); } function callback(){ if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { stateString = xmlHttp.responseTEXT;//服务器返回值,假设返回值为1 alert(stateString );//弹出消息框值为1 } } }function click(){sendServer();alert(stateString);//弹出消息框值为undefined,这为什么得不到值?不明白 }</script>

解决方案

xmlHttp.open("post",url,true); 最后一个参数为数据是否为异步发送.若为true,则是异步发送.执行完send()之后,不管数据有没有返回,都执行后面的语句.也就是说收发数据与执行其它javascript语句是同时进行的.而是否接收到数据,则是在readystatechange事件中进行处理.若为false,则是同步发送,执行完send()之后,就会停在send()语句中,直到接收到了响应之后,才会继续执行后面的语句.所以在第三个值为true,直接执行后面的语句时.send之后数据还未接收到,所以会为undefined.可以写如下代码测试:sendServer();setTimeout(function(){ alert(stateString);},5000);//延迟五秒之后再alert(),这时就是有数据的;
解决方案二:
我的理解为:sendServer(),是一个AJAX异步在执行的方法,如果有反回值他会回调callback,所以在callback中有值,但是在CLICK中他不会等sendServer()是否执行完,所以CLICK中没有打印结果(他不会等). 首先申明,对AJAX不是太熟.

时间: 2025-01-25 12:06:16

ajax返回值的问题的相关文章

ajax-JQuery Ajax 返回值容器遍历

问题描述 JQuery Ajax 返回值容器遍历 用Ajax 进行异步刷新,在后台中如何给ajax返回一个List容器,并且在页面js代码中遍历并且显示到页面中 解决方案 后台使用resspon.getWriter.write(list); 前台AJAX可以这样 $.ajax{ dataType:json, .....其他和正常的ajax请求写法一样 success:function(data){ 这个data就是一个数组元素啦!!! } }

jquery ajax返回值与无返回值问题

  jquery ajax 返回值有很多类型如有html,text,json,xml类型了,我们这些值都可以在ajaxp处理是直接使用匿名函数来直接获取,下面我整理内个jquery ajax 返回值的例子给各位参考参考. jquery中常用的ajac有 $.ajax() , $.post , $.get() ,$.load()了. 例子  代码如下   $.post("test.jsp",  { name: "cssrain", time: "2008/0

spring-项目中ajax返回值的问题

问题描述 项目中ajax返回值的问题 项目类似于微博系统,struts2+springjquery的Ajax提交并返回值是个map对象.现在的问题是: 我发布一条微博时想无刷新的在下面出现一条加入的记录,这个基本就是在前台将返回的值拼字符串,然后插入到记录显示,因为会有大量的这个拼接字符串的地方,我想问下有没有其他的简单的方式来实现无刷新的提交并回显 解决方案 可以 改用创建 对象 .获取到同样样式的最后一个对象.jquery对象.clone()方法克隆该jquery对象再给对象用js更改后台获

怎么才能得到ajax返回值 运用到其他js方法当中?

问题描述 今天想把ajax的返回值运行到其他的js当中,弄了好久都没有结果?求解决方法啊? var xmlHttp; function createXMLHttpRequest(){ if(window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else { xmlHttp = new XMLHttpRequest(); } } function sendServer() { var keyw

ajax返回值加密?????????????

问题描述 ajax返回值加密????????????? 如题???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 解决方案 直接返回的内

asp.net jquery ajax返回值并输出

asp教程.net jquery ajax返回值并输出 本文章是讲一款关于jquery ajax返回值如何让asp.net教程接收并且输出实例代码. <script language="网页特效" src="js/jquery-1.3.2.min.js"></script>      <script type="text/javascript">          var url = "webform

j uery ajax 返回值-jQueryajax返回结果输出到页面

问题描述 jQueryajax返回结果输出到页面 $.ajax({ type:"get", url:"login", cache:false, dataType:text, data:{ userName:name, userPassword:pas, userCheck:certCode }, success:function(data){ alert("success"+data); } }); Struts中定义action(ajax能请求

ajax返回值中有回车换行、空格的解决方法分享_php技巧

最近在写一个页面,用jquery ajax来实现判断,刚写好测试完全没有问题,过了两天发现出现问题,判断不成了.后来发现所有alert出来的返回值前面都会加若干换行和空格.(至今不明白,同一台电脑,同样的环境,为什么出现这样的问题) 后来在网上发现也有人遇到了相同的问题.无论是jquery $.ajax  $.get  $.post 在或者是原声的XMLHttpRequest方法都存在这种问题,这样调用的时候和判断的时候,有时候会出错.看例子 ajax代码: 复制代码 代码如下: $.get('

ajax返回值

问题描述 我想用ajax执行完servlet检查服务器文件是否文件后,得到返回值,请各位高手执教. 解决方案 解决方案二:serlet:response.getWriter().println("1");js:functioncollection(href){varurl="http://...";varmyAjax=newAjax.Request(//这个是phototype的Ajax url, { method:'get', onComplete:showRes