我有一個腳本,其中有多個AJAX functions
,它們調用相同的php_ajax.php
文件。 在php
我通過檢查設置了$_GET
或$_POST vars
來檢查要執行的代碼。
我不得不問題:
1)I具有function
其傳遞給ajax
PHP文件可變$_GET['lang']
。另一個函數傳遞三個變量,包括$_GET['lang']
。在這種情況下,執行php ajax
文件中的兩部分代碼。這是因爲我檢查什麼樣的代碼來執行這樣說:
//FIRST PART OF CODE
if(isset($_GET['lang']) && $_GET['lang'] != ''){
//do stuff here
}
//SECOND PART OF CODE
if(isset($_POST['lang']) && isset($_POST['sub']) && isset($_POST['body'])){
//do stuff here
}
我想只執行如果只有$_GET['lang']
被設置好的第一部分。問題是,如果其他$var
包括$_GET['lng']
被設置,這部分代碼也會被執行。我知道我可以使用類似!isset($_GET['sub']
的東西,但這不是一個通用解決方案:僅適用於$sub
。有沒有一種通用的方法來檢查是否只有isset($_GET['lang'])
而沒有別的?
2)爲什麼會執行代碼的第一部分,當我打電話POST
請求AJAX
? 這裏的腳本:
$.ajax({
url: 'ajax.php',
cache: false,
data: {lang: lang, sub: sub, body: area_body},
type: 'POST',
success: function(result){
alert(result);
},
error: function(result){
alert('Error.');
},
});
這兩個執行代碼,即使$_GET['lang'] shouldn't be
isset ... the
類型:「POST'`。
謝謝!
謝謝你,這是一個好方法。它也可以幫助理解我在這部分代碼中所做的事情。 – Perocat