很奇怪的问题:我有2个部分下拉列表中,选择其中一个国家会再增加一个第二个下拉让你在该国MSA区域的列表。
这是使用jQuery的GET请求,返回在选择下拉区的列表中选择控制器完成的,像
jQuery(function($) {
// when the #area_state field changes
$("#area_state").change(
function() {
// make a call and replace the content
var state = $('select#area_state :selected').val();
if(state == "") state="0";
jQuery.get(
'/getmsas/' + state,
function(data){ $("#msas").html(data); }
)
return false;
}
);
})
注意-此代码是改编自教程这里: http://www.petermac.com/rails-3-jquery-and-multi-select-dependencies/
这适用于Chrome和IE罚款,但在Firefox(13.0.1),这是行不通的,产生两个错误:
Error: junk after document element
Source File: http://localhost:3000/getmsas/Connecticut
Line: 2, Column: 1
Source Code:
<select id="area_msa" name="area[msa]"><option value="">Select Area (Optional)</option>
和
Error: uncaught exception: [Exception... "Node cannot be inserted at the specified point
in the hierarchy" code: "3" nsresult: "0x80530003 (HierarchyRequestError)" location:
"http://localhost:3000/assets/jquery.js?body=1 Line: 6498"]
所以我蛮力强行解决这个。 我真的不明白,为什么这个问题是特定于火狐还,但可能会进行调查。
我能够通过添加的dataType明确声明它作为HTML参数(get方法的最后一个参数)来解决这个问题。
得到的是jQuery的文档中描述如下: http://api.jquery.com/jQuery.get/
jQuery.get( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )
使作品的代码是通过添加“HTML”作为具体的数据类型参数:
jQuery(function($) {
// when the #area_state field changes
$("#area_state").change(
function() {
// make a call and replace the content
var state = $('select#area_state :selected').val();
if(state == "") state="0";
jQuery.get(
'/getmsas/' + state,
function(data){ $("#msas").html(data); },
"html"
// ABOVE LINE IS THE FIX
)
return false;
}
);
})
同样,我需要调查为什么这是火狐特定的; 这是推动我疯了,所以希望它可以帮助别人了。
不知道这是否只是一个不完整的复制粘贴,但
<select id="area_msa" name="area[msa]"><option value="">Select Area (Optional)</option>
需要收出选择标记,否则你的HTML的其余部分被嵌套在select元素......这是坏的范围内。
我只在FF有同样的问题。 我的servlet返航回文本与内容类型“文本”。 FF将此解释为文本/ XML,并试图在体内插入XML - 因此错误
我改变了内容类型为text / plain的 - 一切都很好
我已经解决了这个加
header('Content-Type: text/html; charset=utf-8');
在PHP中获取文件。 当标题不正确设置错误发生时(从一台服务器转移到另一个和旧服务器上,当有这个它工作得很好,在新的没有,直到我设置的标头)
我有同样的问题,当回答是空的,比如,我期待着与记录的表也就只有发生,但也没有任何显示。
文章来源: JQuery AJAX exception only in Firefox: “Node cannot be inserted at the specified point in the hierarchy” (HierarchyRequestError)