Javascript 使用jquery从post数据中检索元素

Javascript 使用jquery从post数据中检索元素,javascript,jquery,ajax,select,http-post,Javascript,Jquery,Ajax,Select,Http Post,注意:在一些评论的帮助下,这很可能是不可能的 我使用jqueryajax调用发送电子邮件地址,在被调用的PHP文件中,根据结果返回错误或成功消息 现在我想在jQuery$.post成功后提醒这个结果,问题是被调用的PHP文件包含一个配置文件,该文件也包含一个Javascript文件,因此我的数据如下所示: 消息 因此,我尝试了以下方法: 数据 src=“x.js”>消息 我在我的$中尝试了两种不同的方法 发布 $.post('ajax.php',function(data){ aler

注意:在一些评论的帮助下,这很可能是不可能的

我使用jqueryajax调用发送电子邮件地址,在被调用的PHP文件中,根据结果返回错误或成功消息

现在我想在jQuery
$.post
成功后提醒这个结果,问题是被调用的PHP文件包含一个配置文件,该文件也包含一个Javascript文件,因此我的数据如下所示:

消息

因此,我尝试了以下方法:

数据

src=“x.js”>消息

我在我的
$中尝试了两种不同的方法

发布

$.post('ajax.php',function(data){

    alert($(data).find('p'));
    // this returns [object Object]

    alert($(data).find('p').html());
    // this returns null?

}
事实上,
alert($(data).find('p')
返回
[object object]
让我觉得它在工作,但我不明白为什么
.html()
返回
null
。如果我通过firebug检查
数据
,它会准确地显示我上面键入的内容

一些额外信息

console.log(数据)

返回

src=“x.js”>消息


console.log($(data.find('p'))
返回jQuery对象


console.log($(数据).find('p').length)返回
0


按预期返回
消息

最终编辑

$.post('ajax.php',function(data){

    alert($(data).find('p'));
    // this returns [object Object]

    alert($(data).find('p').html());
    // this returns null?

}
我没有想到
$(data.find('p')
中的
$
可能就是它返回
[object]
的原因


现在我想了想,很明显我不可能做到我所要求的,因为我试图在字符串上使用jQuery的选择器引擎。我将更改我的文档结构,从配置文件中删除JS引用。

只需在PHP中重复它即可

alert(<?php echo $_POST['variable']; ?>);
alert();

要使用选择器,首先需要将该字符串作为DOM树的一部分$(数据)没有这样做 自动地,您需要将其附加到元素(如body)或替换现有元素

onComplete: function(content) {
 content.find("#whatever"); // won't work
 $("#existingElement").html(content);
 $("#existingElement").find("#whatever"); // works
}

如果没有使用,为什么PHP页面会写出一个JS引用?您可以通过ajax(使用firebug等)发布返回的数据吗?还可以尝试添加
警报($(数据).find('p').length)
并用结果更新帖子?console.log(数据)
包含什么,console.log($(数据).find('p'))
包含什么?@Fosco,因为需要相同配置文件的所有其他页面都使用JS引用@Niklas,
console.log(data)
包含我在问题中的数据下键入的内容(如我所说),
console.log($(data.find('p'))
返回jQuery对象@Cybernate,
console.log($(数据).find('p').length)返回0。我不确定您是否可以用这种方式转换它并使用find。尝试将其附加到dom树,以便可以自然地对其进行解析。尝试附加它$(..)始终返回jQuery对象,因为$是jQuery对象,而且find是扩展$的空集合,它将是object Too。我确信他的最终目的是不让变量
发出警报
,即使它是.js文件,也不会被PHP解析。即使是这样,它也不会包含一个尚未通过ajax调用检索的变量。我只是想帮忙。如果我犯了错误,请原谅我。如果我的评论听起来有失身份,我很抱歉,但你的回答没有经过深思熟虑。我知道。整个想法是直接从
数据中检索
p