- $.get('ajax.php教程', {
- id: $('#test').attr('value');
- }, function(data) {
- if(data == 1) {
- $('#test_div').remove();
- alert('刪除成功!');
- } else {
- alert('刪除失敗,請重試!');
- }
- });
這是一個用jquery實現的並使用Get方法地送的資料,把一個ID為test的值發送給了ajax.php這個頁面,ajax.php是這樣寫的:
- <?php
- if(isset($_GET['id'])) {
- $result = mysql教程_query('DELETE FROM user WHERE id=' . $_GET['id'] . '');
- echo $result;
- }
- ?>
這樣的話,如果刪除成功,會返回一個影響行數,通常情況下是1,但在回呼函數裡我們alert()測試一下,會是這種情況:
很明顯可以看得出,Ajax回呼函數裡這個1的前麵包含了斷行符號(分行符號),並且不止一個,這樣嚴重影響程式的健壯性,有些情況下還可能出現錯誤,因此我們需要用到Regex把它去除,回呼函數裡我們可以這麼寫:
- $.get('ajax.php', {
- id: $('#test').attr('value');
- }, function(data) {
- newData = data.replace(/rn/g,'');
- if(newData == 1) {
- $('#test_div').remove();
- alert('刪除成功!');
- } else {
- alert('刪除失敗,請重試!');
- }
- });
不難看出,代碼中使用了newData = data.replace(/rn/g,"")這一句,我們可以使用Regex“rn”將它替換為空白,“r”就是列印頭從右端回到左端,“n”就是列印頭往下走一個行高(或者說是紙往上走一個行高),這樣替換後,我們就可以得到一個乾淨的傳回值,下圖是使用正則清除Ajax傳回值後的效果: