使用jQuery ajax响应数据

我正在使用ajaxpost并以html的forms接收数据。 我需要分割数据并在整个页面上放置数据。 我建立了我的响应数据,如

Hello there and Welcome

First timer visiting our site eh'

这有点复杂如果得到这个问题的答案,我可以弄清楚。 谢谢

 $.ajax({ type:'POST', url: 'confirm.php', data: "really=yes&sure=yes", success:function(data){ //Need to split data here } }); 

更新 :刚刚意识到你应该这样做:

 success:function(data) { data = $('
').append(data); $('#greeting',data).appendTo('#one') $('#something',data).appendTo('#two') }

因为你不能正确使用.find ,因为它不是一个孩子,但如果你把它附加到一个空节点,你可以。 另一种选择是使用.filter

 $.ajax({ type:'POST', url: 'confirm.php', data: "really=yes&sure=yes", success:function(data){ $('#greeting',data).appendTo('#one') $('#something',data).appendTo('#two') } }); 

您可以从data中提取并追加到您想要的位置。 您也可以执行类似返回JSON的操作,而不是从html中提取html,只需从对象访问html即可。

 $(data.greeting).appendTo('#one') $(data.something).appendTo('#two') 

回应必须如下:

 ({ 'greeting':'html', 'something' :'other html' }) 

为什么不在confirm.php中将答案串在一起? 字符,然后当字符串作为变量数据返回时,您可以使用datas = data.split("|")将其拆分,并使用data[0]data[1]等访问各个答案。

(如果您对JSON感到满意,Meder的响应将会起作用,但正则表达式可能更容易一些,并且可以正常工作。)

您可能需要使用正则表达式来分解响应文本。 例如,如果响应文本是:

 

Hello there and Welcome

First timer visiting our site eh'

然后你可以使用这样的一些JavaScript:

 var greeting = response_text.match(/

.*

/); var something = response_text.match(/

.*

);

(这个网站非常适合学习正则表达式: http : //gskinner.com/RegExr/ )