Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jqueryajaxxml响应问题_Jquery_Xml_Ajax - Fatal编程技术网

jqueryajaxxml响应问题

jqueryajaxxml响应问题,jquery,xml,ajax,Jquery,Xml,Ajax,我有点困惑,我正在通过Jquery执行Ajax请求,我使用htmlentities发送xml文档中的编码数据以防止XSS,但问题是当我解析xml并获取数据时,Jquery似乎会自动解码htmlentities,我最终得到易受攻击的数据 您知道如何防止Jquery对编码数据进行解码吗,或者我在ajax请求中缺少了一个选项 任何帮助都是非常感谢的,因为我被困在这一点上 以下是我当前的ajax选项: 不知何故,当我使用Jquery查找并获取文本时,所有使用htmlentities编码的数据都会被解码

我有点困惑,我正在通过Jquery执行Ajax请求,我使用htmlentities发送xml文档中的编码数据以防止XSS,但问题是当我解析xml并获取数据时,Jquery似乎会自动解码htmlentities,我最终得到易受攻击的数据

您知道如何防止Jquery对编码数据进行解码吗,或者我在ajax请求中缺少了一个选项

任何帮助都是非常感谢的,因为我被困在这一点上

以下是我当前的ajax选项:

不知何故,当我使用Jquery查找并获取文本时,所有使用htmlentities编码的数据都会被解码

例如:

Data : <c><cu>Test</cu><cb>&#160;htmlentitiesgez564&lt;script&gt;</cb></c>
解析数据:

cu : Test
cb :  htmlentitiesgez564<script>;

您可以看到这有多危险,知道如何修复吗?

尝试将数据类型选项添加到ajax配置对象中

$.ajax({
  url: 'ajax_handle.php',
  data: {pg: cpage, rid: rid},
  type: 'POST',
  dataType: "text",
  cache: false,
  error: function(xhr, ajaxOptions, thrownError){
     $( button ).val( 'Error' );
  },
  success: function(xmldata){ /* Parsing here */ }
}

这应该告诉jQuery,接收到的响应将被解释为文本,jQuery将自动解码数据,但只要不求值或将数据注入DOM,就不会发生任何事情。因此,例如,如果要将其注入DOM,则不必使用该方法,而是使用该方法:


请编辑您的问题:用4个空格缩进源代码以使其看起来良好。您的意思是,您在成功函数中获得的xmldata已解码实体?您是否尝试在ajax请求中显式地将数据类型设置为xml?我还是这么做了,我理解的是Jquery会自动解码数据。这是真的,但我无法解析它,因为响应是xml数据。谢谢!这实际上是一种更简单的方法,我喜欢K.I.s.SAlso,我发现将数据放在里面会阻止解析器解析数据,所以这也解决了这个问题!
$.ajax({
  url: 'ajax_handle.php',
  data: {pg: cpage, rid: rid},
  type: 'POST',
  dataType: "text",
  cache: false,
  error: function(xhr, ajaxOptions, thrownError){
     $( button ).val( 'Error' );
  },
  success: function(xmldata){ /* Parsing here */ }
}
$('#someDiv').text('<script>alert("ok");</' + 'script>');