Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
jQuery:在这种情况下如何选择属性?_Jquery_Xml - Fatal编程技术网

jQuery:在这种情况下如何选择属性?

jQuery:在这种情况下如何选择属性?,jquery,xml,Jquery,Xml,在我的jQuery ajax方法中,它返回的“数据”格式如下: <root> <result sender='BlackSmith' nickName='Blac'></result> <result sender='AristleJohnson' nickName='AJ'></result> . . . </root> 但是,该警报从未显示,这意味着$(data).find('r

在我的jQuery ajax方法中,它返回的“数据”格式如下:

<root>
    <result sender='BlackSmith' nickName='Blac'></result>
    <result sender='AristleJohnson' nickName='AJ'></result>
    .
    .
    .
</root>

但是,该警报从未显示,这意味着$(data).find('result')在此处不起作用。你能帮我吗?谢谢。

假设您正在将ajax调用的返回值分配给数据变量,那么一切看起来都很好-需要检查一些事项:

  • 尝试将数据类型显式设置为XML
  • 仔细检查从服务器返回的内容,确认响应不是500ing、404ing或出于任何其他原因返回空响应

假设您正在将ajax调用的返回值分配给数据变量,那么一切看起来都很好-需要检查一些东西:

  • 尝试将数据类型显式设置为XML
  • 仔细检查从服务器返回的内容,确认响应不是500ing、404ing或出于任何其他原因返回空响应

    • 我的第一个想法是,您的数据集实际上并不包含响应。是否在AJAX调用中实际查找…?一旦离开
      success:
      函数的作用域,您的响应将被销毁

      因此,最重要的是,检查范围:

      $.ajax({
              type: "GET",
              url: "[yoururl]",
              dataType: "xml",
              success: function(data) {
                //this is the only place your $(data) selector will work...
          }
      });
      

      如果要在其他地方使用数据,则必须将其从ajax调用中传递出去。

      我的第一个想法是,数据集实际上并不包含响应。是否在AJAX调用中实际查找…?一旦离开
      success:
      函数的作用域,您的响应将被销毁

      因此,最重要的是,检查范围:

      $.ajax({
              type: "GET",
              url: "[yoururl]",
              dataType: "xml",
              success: function(data) {
                //this is the only place your $(data) selector will work...
          }
      });
      

      如果您想在其他地方使用数据,则必须将其从ajax调用中传递出去。

      我认为您不能像使用$(数据)那样将HTML/XML传递到jQuery中。通常,所讨论的DOM已经在页面的某个地方,您可以改为使用$(“result”)

      在您的例子中,您应该在ajax请求本身中将数据类型转换为“xml”,然后jQuery将实际解析结果并返回


      我认为不能像处理$(数据)那样将HTML/XML传递到jQuery中。通常,所讨论的DOM已经在页面的某个地方,您可以改为使用$(“result”)

      在您的例子中,您应该在ajax请求本身中将数据类型转换为“xml”,然后jQuery将实际解析结果并返回


      我不确定,这就是为什么这是一个注释,但可能是因为结果是字符串,所以代码没有返回任何内容。不过,不要相信我的话。我复制/粘贴了上面的代码,它工作得非常好。所以这可能是一个范围问题。请多粘贴一点jQuery。工作正常:问题出在您没有发布的代码中的某个地方。也要确保XML是有效的。我不确定,这就是为什么这是一个注释,但可能是因为结果是字符串,所以代码没有返回任何内容。不过,不要相信我的话。我复制/粘贴了上面的代码,它工作得非常好。所以这可能是一个范围问题。请多粘贴一点jQuery。工作正常:问题出在您没有发布的代码中的某个地方。还要确保XML是有效的。谢谢。我没有使用数据类型:“xml”,所以它不会将其解析为xml数据。谢谢。我没有使用数据类型:“xml”,因此它不会将其解析为xml数据。
      $(document).ready(function(){
          $.ajax({
              type: "GET",
              url: "/sites.xml",
              dataType: "xml",
              success: function(xml) {
                  $(xml).find('result').each(function(){
                          ...
                      });
                  });
              }
          });
      });