Ajax jquery和php:如何控制反馈?

Ajax jquery和php:如何控制反馈?

问题描述:

假设你通过ajax发送数据。服务器将处理它(PHP)和发送反馈,你可以抓住使用Complete: function(data) { //WRITE HTML TO DIV $('#somehing').html(data) } 的问题是: 是有它传递到HTML元素之前修改数据(编辑,删除)的方法吗?Ajax jquery和php:如何控制反馈?

这里是什么,我的意思是一个简单的例子:

//php side 
echo 'Invalid email'; 
echo 'Enter your username'; 
echo 'fine'; 
echo 1; 
echo 2; 


// Jquery and Ajax 
$.ajax({ 
type: 'POST', 
url: 'render.php', 
data:values, 
complete: function(data) { 
$('#something').html(data) /* all those messages in php will be printed 
into #something including the numbers. how to delete or edit those numbers 
from appearing in #something? */ 
} 
}); 
+0

你是如何接收响应?它是一个HTML标记?或json? – Ghost 2014-10-08 04:37:16

+0

我接受她为 'HTML' – Dexter 2014-10-08 04:38:51

+0

如果你recieving它作为'html',然后就换​​了,如果'($(数据).find( 'myElement')。文本()。匹配('/ 0 -9] /'){//号}' – Ohgodwhy 2014-10-08 04:39:58

试试这个删除喜欢的数字,

complete:function(data){ 
    data=data.replace(/\d+/,''); // Regular expression without quotation marks. 
    // or you can replace the something text like 
    // $('#something').text(function(){ 
    //  return this.innerText.replace(/\d+/,''); 
    // }); 
    alert(data); 
} 
+0

它的作品!在正则表达式周围没有引号:(/ \ d + /,'');非常感谢! – Dexter 2014-10-08 06:32:39

数据返回基本上只是一个字符串,你说你正在做的方式“接受它作为‘HTML’”你应该能够使用简单的JavaScript来控制它出了大门,比如我做事情的方式,有时是这样的:

的PHP返回类似:

echo $variable_1 . ":" . $variable_2 

然后,当我得到临屋T作为data它只是一个字符串,说

variable 1:variable 2 

所以我做什么,接下来就是我用冒号

var var1 = data.split(":")[0]; 
var var2 = data.split(":")[1]; 

分离变量现在,这只是一个简单的例子。我不完全确定你要返回的内容,但看起来你正在寻找1的索引,而不是"1"。这可能会有所作为。尝试在引号中搜索1,然后这将搜索一个字符串。

+0

谢谢ntgCleaner,在我的情况下,我有很多字符串:其中大多数是错误消息(例如,如果用户放置无效的电子邮件:它返回字符串'无效的电子邮件')但是有数字(在PHP中,引号如:回声1;)我想用他们的东西,我不希望他们出现错误消息。这就是为什么我要问一个控制返回数据的方法。 – Dexter 2014-10-08 05:17:18

+0

是的分裂:P我也做这件事情,即使它不成熟:D – khandelwaldeval 2014-10-08 05:46:25