我正在追逐一个讨厌的问题。 onclick处理程序中的AJAX调用无法完成,因为浏览器会触发document.ready mid-call。在Firebug控制台中跟踪readystate和status时,我得到:
READYSTATECHANGE:1 STATUS:0
READYSTATECHANGE:2 STATUS:0
READYSTATECHANGE:4 STATUS:0
Document Ready
( - >这是
第二次射击,在重新连接UI时打破所有内容)我相信我没有面对跨域安全块,因为在页面中的其他位置调用时,相同的AJAX调用将正确完成。
我正在使用Jquery 1.8.1,我尝试了多种AJAX客户端调用(即
$.getJSON
$.ajax
以及使用标准XMLHttpRequest
对象。
有没有人见过这个?更深入调试的指针非常棒。
答案 0 :(得分:0)
调试完问题后,我现在有一个解决方法。我的AJAX调用是从链接到Twitter Bootstrap Button的点击处理程序调用的。单击该按钮会触发AJAX调用,但也会触发window.load
事件,该事件会刷新JS应用程序。
我的工作是用<button>..</button>
字段替换<input>..</input>
,见下文:
<form class="form-search">
<label>Enter search string:
<input id="SearchString" type="text" class="input-medium search-query">
<!-- Broken: <button id="SearchAction" type="submit" class="btn btn-primary"> Search </button> -->
<!-- This works: -->
<input type="button" id="SearchAction" value="Go Find"/>
<img id="RssAction" style="vertical-align:bottom" src="images/feed-icon-14x14.png">
</label>
</form>
这可能不是根本原因。