【发布时间】:2011-11-05 22:12:44
【问题描述】:
我在使用 jQuery .load() 时遇到了一个非常奇怪的问题。下面的代码在 Safari 中运行良好,但在 FireFox 中提供 null value 数据。但是,当我检查响应时,它显示的是 success。
$.ajaxSetup({cache:false}) ;
$(document).keydown(function(e) {
if (e.keyCode == 27 && $("#MasterEditHelper").val() == 1) {
var No = $("#MasterEdit").attr("value");
var Id = "#Box-"+No;
var viewType = $('#ViewType').val();
$(Id).html('<p class="updating">UPDATING</p>');
$(Id).load("/Styles/Zoom/Update", {id : No, view : viewType});
$("#MasterEdit").css('display' , 'none');
$("#MasterEditHelper").val(0);
$("#sub-duvet").fadeIn();
}
});
有人知道为什么会这样吗?
【问题讨论】:
-
你使用 mvc 框架吗?如果是这样,那么请求可能会成功,但不会返回任何数据,还要确保您使用的是正确的 url,尽量将它们全部保持小写,因为某些浏览器可能无法正常工作
-
还请提供更多代码,我认为没有人可以帮助您。
-
该网址正确,因为它在其他浏览器中工作。我尝试了不同的页面,包括一个只提供
<p>Success</p>result 的测试 ajax 页面,但我仍然得到 Null。代码的其余部分并不重要 - 显示一个 div,将 div 的值设置为 1。转义后调用上述代码。 -
更新 - 我设法解决了这个问题。如果它在 keydown() 函数下,似乎负载不会触发。将操作更改为按钮,现在它可以工作了!
标签: javascript jquery firefox load cross-browser