2016-04-25 37 views
0

尋找使用關聯PHP數組的錯誤消息使用Ajax。來自多個頁面的Ajax錯誤/成功消息

我有5頁有各種不同的錯誤消息,但他們都來自同一頁(這是一個配置文件頁面,5頁編輯客戶詳細信息的不同方面)。

所以如果出現錯誤,它將重定向回到一箇中心頁面,然後使用jQuery顯示錯誤,這與成功消息一樣。

所以我的陣列看起來像:

$errormsg = array("class"=>"warning", "message"=>"Example error message"); 

不過,我已經閱讀教程和看到類似下面的例子:

jQuery.ajax({ 

url: 'script.php', 
data: response, 
dataType: 'JSON', 
type: 'POST', 
success:function(data){ 
    console.log(data); 
}, 
error: function(data, errorThrown){ 
    console.log(errorThrown); 
} 

}); 

我該如何去有關指定5個不同的URL,例如?正如我想避免讓這個代碼重複5次一頁,以及許多其他時間在我的網站上。

感謝您的時間

+1

保存你傳遞給該對象'jQuery.ajax'給一個變量。然後,您可以更改'objVar.url =「whatever.php」;'並將其傳遞到像jQuery.ajax(objVar);'這樣的ajax調用。它只是一個標準的JavaScript對象字面你傳遞給Ajax。它可以像其他任何對象一樣保存/修改。 –

回答

0

我想我明白你的意思。

我有幾個頁面都使用相同的AJAX「處理器頁面」(因爲想要更好的術語)。這是我如何處理它:

var req = 'page1'; 
var error_type = $('#etype').val(); 
var error_somethingelse = 'this is something else'; 
$.ajax({ 
    type: 'post', 
    url: 'ajax/ax.php', 
    data: {request:req, error_type:etype, sumelse:error_somethingelse}, 
    success: function(d){ 
     if (d.length) alert(d); 
    } 
}); 

request變量告訴要運行的程序的PHP AJAX處理器文件:

ax.php:

<?php 
    if ($_POST['request'] == '') { 

    /**********************************************************************************************************************/ 
    }else if ($_POST['request'] == 'page1') { 
     if ($_POST['page1_specific_var']== '123-324'){ 
     } 
     echo 'Error Message: there was an error'; 
    }else if ($_POST['request'] == 'page2') { 
     echo 'Error Message: there was another kind of error'; 
    }else if ($_POST['request'] == 'login_page') { 
     echo 'Error Message: there was a login error'; 
    }