Ajax 不读取 JSON servlet 答案
Ajax does not read JSON servlet answer
我在ajax和javascript上做了可怕的噩梦...我正在尝试阅读 JSON 答案并重定向到其他站点。
我的Javascript应该查询等待过程的验证servlet==登录|| loginAlreadyInUse,然后将其重定向到其他地方:
<script type="text/javascript">
var userId = "<%=request.getSession().getId()%>";
var timeInterval=self.setInterval("check_userId()", 3000);
function check_userId() {
$.post('http://localhost:8080/qrlogin/verify', {userId: userId},
function(data) {
if(data.procedure == "login") {
window.location = 'http://localhost:8080/qrlogin/login'+userId;
}
else if(data.procedure == 'loginAlreadyInUse') {
window.location = 'http://localhost:8080/qrlogin/'+userId;
}
}, "json");
}
目前验证 servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/javascript");
PrintWriter out = response.getWriter();
// Assuming your json object is **jsonObject**, perform the following, it will return your json object
out.print("{'procedure' : 'login' }");
out.flush();
return;
}
问题是脚本永远不会重定向到登录页面。(继续每 3 秒发布一次帖子...
谢谢你的时间,
-
"{'procedure' : 'login' }"
不是有效的 JSON。JSON 中的所有键和字符串都必须使用双引号,而不是单引号。所以你需要out.print()
这个:
"{'"procedure'" : '"login'" }"
-
text/javascript
是 JSON 的错误 MIME 类型。使用application/json
. -
不要将字符串传递给
setInterval
(或setTimeout
,就此而言)。这是伪装eval
,我们都知道这是邪恶的(对吧?对吧?只需传递函数本身:var timeInterval=self.setInterval(check_userId, 3000); // look ma, no quotes
相关文章:
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 当值更改时,在servlet中自动获取textarea值,无需单击按钮
- servlet中的请求对象,而不是从jsp接收参数值
- JSON分析错误:Java中AJAX、Javascript和Servlet的意外EOF
- 如果消息框答案为YES,则用Javascript填写表单
- 在servlet中提交两个表单
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 如何从servlet获取数据到ajax成功
- 使用Jquery$.ajax将json数据传递给servlet(doPost)
- servlet和代理servlet之间的区别
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- Servlet仅在单击JavaScript警报消息后重定向
- 在Servlet填充的表中选择多行
- java脚本的数学方程显示错误的答案
- 如何区分javascript中的servlet响应
- 当使用答案运行PHP函数时,会弹出是/否警报
- 带有多个答案选项的Javascript动态数组窗口
- 需要确认我对Servlet vs RESTful网页的理解's的差异
- 为什么我得到responseText(通过Ajax从Servlet到javaScript)和额外的字符
- Ajax 不读取 JSON servlet 答案