Window.open()调用第一次没有击中控制器
window.open() call not hitting controller first time
请帮我解决这个荒谬的问题。我通过使用window.open()函数从我的js表单传递一个URL,该函数将击中控制器方法,还包括一些路径变量。也就是说,
myUrl = "controller/"+pathVar1+"/"+pathVar2+"/controllerMethod?AUTH_TOKEN=" + getAuthTokenId() +"&";
window.open(myUrl,true);
getAuthTokenId()写入我的"global.js"文件中,在控制器中,我将方法写入
@Controller
@RequestMapping("/controller")
public class ControllerName{
@RequestMapping(value = "/{pathVar1}/{pathVar2}/controllerMethod", method = RequestMethod.GET)
public @ResponseBody void ControllerMethodDefinition(HttpServletRequest request, HttpServletResponse response, @PathVariable("pathVar1") String pathVar1,@PathVariable("pathVar2") String pathVar2){
/***/
}
}
现在我的问题是当js第一次执行我的调用从js没有击中控制器,但下次以后控制器每次都被击中。
对于这个问题,最好的研究方法是:
1)将alert('Before open ' + myUrl);
和alert('After open ' + myUrl);
放在window.open()命令的前后,以确保它被执行。
2) System.out.println("Controller hit. Pathvar 1 = " + pathVar1 + "; Pathvar 2 = " + pathVar2);
在你的控制器,以确保它真的击中。
我的猜测是,不知怎的,第一次你的URL没有正确初始化,所以命令不会运行。但无论原因是什么,在你执行了上述两个测试之后,它应该是清楚的。
相关文章:
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 删除确认对话框在第一次单击时不起作用
- Javascript:JSON请求仅在第一次工作
- 推特引导:弹出窗口不会在第一次点击时出现,但会在第二次点击时显示
- 角度提交仅进行第一次v2错误
- 设置第一次执行的超时
- 为第一次尝试Javascript的经验丰富的开发人员提供建议
- jQuery on()-不;第一次点击时无法工作
- 第一次点击动态创建的表后,点击不工作
- 在Rails中第一次单击后禁用链接,Coffeescription
- PHP和JS脚本的奇怪问题,在我刷新页面之前第一次失败
- 循环中的切换脚本只适用于第一次迭代
- 在没有焦点的情况下捕获画布上的第一次单击事件
- AngularJS控制器没有'第一次刷新页面后无法工作
- $state.go() 不会在第一次单击 Button 时调用控制器
- 第一次修改后,不能在使用factory的控制器之间共享数据
- Iframe不't解析第一次加载后来自控制器的值
- JQuery 函数只是在第一次按下提交按钮时调用控制器操作
- Window.open()调用第一次没有击中控制器
- 第一次尝试在Rails中使用Ajax:控制器呈现空文档