2014-10-08 143 views
1

假設你通過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

回答

0

試試這個刪除喜歡的數字,

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

0

數據返回基本上只是一個字符串,你說你正在做的方式「接受它作爲‘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