Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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 Can';t query$.post返回的数据_Jquery_Jquery Selectors - Fatal编程技术网

Jquery Can';t query$.post返回的数据

Jquery Can';t query$.post返回的数据,jquery,jquery-selectors,Jquery,Jquery Selectors,第一个console.log的结果是 $.post( url, JSON_POST, function( data ) { var content = $( data ); var content = $( data ).find( '#json' ); console.log(data); console.log(content); } ); {“状态”:1,“消息”:“回复已成功提交”。}

第一个console.log的结果是

 $.post( url, JSON_POST,
    function( data ) {
      var content = $( data );
          var content = $( data ).find( '#json' );
        console.log(data);
           console.log(content);
      }
    );
{“状态”:1,“消息”:“回复已成功提交”。}
sdfsafdsfds
但是由于某种原因,第二个日志返回一个空数组。我试图在数据变量中查询html,但结果总是空集

我真的很感激你能帮我做这件事。我阅读了$.post手册,但是没有提到这个问题


p.S我正在使用JQUERY 1.7

find
查找所选元素的后代。在您的例子中,这两个元素都没有子元素,更不用说ID
json
的子元素了

相反,您正在查找所选元素中的特定元素。在这种情况下,您应该选择当前元素:

<div id="json">{"status":1,"message":"Reply submitted successfully."}</div> 
<div id="test">sdfsafdsfds</div>

find
查找所选元素的子体。在您的例子中,这两个元素都没有子元素,更不用说ID
json
的子元素了

相反,您正在查找所选元素中的特定元素。在这种情况下,您应该选择当前元素:

<div id="json">{"status":1,"message":"Reply submitted successfully."}</div> 
<div id="test">sdfsafdsfds</div>

您在XML中使用容器元素吗? 也许这就是问题的原因

必须使用xml中的根元素来获得正确的解析。因此,您的XML响应应该如下所示:

var content = $(data).filter('#json');

{“状态”:1,“消息”:“答复已成功提交”。}
sdfsafdsfds
元素可以是您喜欢的任何内容,例如:


是的,这是你的问题

在javascript控制台中尝试以下操作:

<root>
    <div id="json">{"status":1,"message":"Reply submitted successfully."}</div> 
    <div id="test">sdfsafdsfds</div>
</root>
var asd='{“状态”:1,“消息”:“回复已成功提交”。}sdfsafdsfds'
console.log($(asd.find(“#json”)>[]
console.log($(“+asd+”).find(“#json”)>[{“状态”:1,“消息”:“回复已成功提交”。}]

您是否在XML中使用容器元素? 也许这就是问题的原因

必须使用xml中的根元素来获得正确的解析。因此,您的XML响应应该如下所示:

var content = $(data).filter('#json');

{“状态”:1,“消息”:“答复已成功提交”。}
sdfsafdsfds
元素可以是您喜欢的任何内容,例如:


是的,这是你的问题

在javascript控制台中尝试以下操作:

<root>
    <div id="json">{"status":1,"message":"Reply submitted successfully."}</div> 
    <div id="test">sdfsafdsfds</div>
</root>
var asd='{“状态”:1,“消息”:“回复已成功提交”。}sdfsafdsfds'
console.log($(asd.find(“#json”)>[]
console.log($(“+asd+”).find(“#json”)>[{“状态”:1,“消息”:“回复已成功提交”。}]

非常感谢。我想我会买一本JQuery书来弥补我所缺少的小东西。@Senouciothman:不客气:)我的建议是仔细阅读文档并熟悉DOM术语。@omnosis:错。他没有使用XML;多重根没有什么错。是的,他有。他调用了一个
$.post
,这是一个ajax请求,
数据
就是响应。@omnosis:谁说响应是XML?您的解决方案也是正确的,并且是另一种解决方法,这很好,但OP从未声明他正在使用XML。(顺便说一句,如果你没有在
@SLaks
中提到SLaks,他将不会收到你的评论)。非常感谢。我想我会买一本JQuery书来弥补我所缺少的小东西。@Senouciothman:不客气:)我的建议是仔细阅读文档并熟悉DOM术语。@omnosis:错。他没有使用XML;多重根没有什么错。是的,他有。他调用了一个
$.post
,这是一个ajax请求,
数据
就是响应。@omnosis:谁说响应是XML?您的解决方案也是正确的,并且是另一种解决方法,这很好,但OP从未声明他正在使用XML。(顺便说一句,如果你没有在
@SLaks
中提到SLaks,他将不会收到你的评论通知)。