Javascript Internet Explorer从JSON响应中剥离HTML
我使用通过AJAX提交表单并接收JSON响应:Javascript Internet Explorer从JSON响应中剥离HTML,javascript,internet-explorer,jquery,jquery-plugins,Javascript,Internet Explorer,Jquery,Jquery Plugins,我使用通过AJAX提交表单并接收JSON响应: $('#'+searchFormView.form.form.id).ajaxForm({ dataType:'json', success:This.renderSearchResults, error:This.error }); HTTP响应主体: { "grid":{ "headers":[ "Image","Additional","data","button" ], "r
$('#'+searchFormView.form.form.id).ajaxForm({
dataType:'json',
success:This.renderSearchResults,
error:This.error
});
HTTP响应主体:
{
"grid":{
"headers":[
"Image","Additional","data","button"
],
"rows":[
["<img src=\"\Path_to_image\" alt=\"picture\">",
"Additonal",
"data",
"<button>Button text<\/button>"
],
[Some more of these arrays]
]
}
}
控制台登录IE的结果:
Log:
如果在success方法运行时观察局部变量:
"{
\"grid\":{
\"headers\":[
\"Image\",
\"Additional\",
\"data\",
\"Button\"
],
\"rows\":[
[\"\",\"Additional\",\"data\",\"Button text<\\/button>\"],
...
”{
\“网格\”:{
\“标题\”:[
\“图像\”,
\“附加\”,
\“数据\”,
\“按钮\”
],
\“行\”:[
[\“\”、\“附加\”、\“数据\”、\“按钮文本\”],
...
正如您所看到的,HTML标记不见了(奇怪的是,标记仍然存在)
这应该是XSS保护吗
我该如何解决这个问题?XSS保护?我对此表示怀疑。出于某种原因,M$'安全机制不仅奇怪,而且根本不安全,让开发人员的生活非常艰难。:我想你可以对"例如,到HTML数字。那么,也许IE不会取出你的标签。你使用的是哪个版本的jQuery?你对哪个版本的IE有问题?@invertdspear jQuery 1.9.1问题发生在IE8和IE9中。我假设它也出现在7中。@jean-c-lourenco,对
"{
\"grid\":{
\"headers\":[
\"Image\",
\"Additional\",
\"data\",
\"Button\"
],
\"rows\":[
[\"\",\"Additional\",\"data\",\"Button text<\\/button>\"],
...