我有一个脚本,AJAX functions
其中有多个调用同一个php_ajax.php
文件。在php
我检查要执行的代码上,通过检查 which $_GET
or$_POST vars
被设置。
我有问题:
1)我有一个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
}
只有设置了 ONLY 时,我才想执行第一部分$_GET['lang']
。问题是如果设置了其他代码,这部分代码也将被$var
执行$_GET['lng']
。我知道我可以使用类似的东西,!isset($_GET['sub']
但这不是一个通用的解决方案:仅适用于$sub
. 有没有一种通用的方法来检查是否只有isset($_GET['lang'])
而没有别的?
AJAX
2)当我用 调用请求时,为什么会执行第一部分代码POST
?这里的脚本:
$.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'`。
谢谢!