日期:2014-05-16  浏览次数:20786 次

用AJAX发送请求的时候出现不能到服务端的问题
本帖最后由 u010945740 于 2013-07-13 05:05:17 编辑
过程是这样子的,homepage.html页面用ajax通过访问AA服务端的AA方法获取了一张table,然后这个table里面有一个按钮,按钮触发一个js方法,这个js方法就是用ajax访问AA服务端的BB方法。
现在是这张表可以获取,但是按钮触发的这个ajax提交情况不能提交到服务器。readyState返回的是1!
   然后我又拿,第一次请求AA服务端的AA方法代码放进这个js方法里面!,发现也不能访问到AA服务端的AA方法!
个人感觉这里应该不存在跨域的问题。因为都是本地的
为什么明明第一次可以访问到服务器,第二次就不行了,readyState返回的是1!求各位高手解决!
跪谢!

最新的补充我的3楼/*
因为我服务端返回给客户端的数据是1,而在客户端用xmlHttp.responseText;得到的是空值!
现在问题就是readyState一直为1!而诡异的是只有这一个地方是1,该页面其它地方的ajax都可以正常运行!虽然值为1但是,还是会执行服务端的代码这是为什么?*/

------解决方案--------------------
//xmlHttp1.open("get","StudentSource!getLoginSession",true);
xmlHttp1.open("get","StudentSource!getLoginSession?_dc="+new Date().getTime(),true);//防止IE下的GET缓存
//xmlHttp1.onreadystatechange=callbackmodifyinfo();
//===>状态转换函数是函数名称,不要加(),加()就是运行这个函数,然后将这个函数的返回值作为状态转换函数了
xmlHttp1.onreadystatechange=callbackmodifyinfo//();

------解决方案--------------------
引用:
Quote: 引用:

现在可以确认了,代码可以运行到服务端,并且可以执行里面的更新代码,但是返回的readyState,永远是1是为什么?明明服务端都已经接收了,并且执行了!而且还有数据返回到客户端了,显示还是1!很诡异,有没有高手解决的!

还有我想问一下!,就是如果服务端的代码有错误是不是,服务端的第一句代码都不会运行呀?
过程是这样子的,我在服务端的执行代码的第一句输入"system.out.println(“111”);是不是只要有语句错误,连这第一句都不会运行呀?
发生错误客户收不到输出的111,只会显示错误信息。。这个和js不一样,js只要之前运行的代码没有错误,设置了容器的innerHTML,或者document.write输出的内容,都会反映到页面上。