我有一个js
开关声明,用于检查提交的文本中是否存在特定字符串。
var textA= //regex
var textB= //regex
switch(true) {
case textA.test(input):
// CASE A
$ajax ({
type:"post",
url:"process.php",
data: {input:input,age:age,city:city,type:type},
success: function(html){alert(html);} });
break;
case textB.test(input):
// CASE B
$ajax ({
type:"post",
url:"process.php",
data: {input:input,width:width,height:height,type:type},
success: function(html){alert(html);} });
break;
case ...
}
通常,我会创建专用的php
文件来处理每个$ajax
的POST数据。
但如何在单个$ajax
中处理多个php
POST。
我为每个ajax数据添加了一个唯一标识符type:
,这将是我对我的PHP接收ajax的参考
但我不确定如何正确编写PHP来处理提交的$ _POST类型。
<?php
//get post type from submitted AJAX
$type = $_POST;
switch($type) {
case 0:
$type= "caseA"
//some code here
case 1:
$type= "caseB"
// some code here
}
?>
答案 0 :(得分:2)
每个案例发送一个动作,
e.g。
$.ajax({
url: 'path/to/file.php',
type: 'POST / GET',
data: {action: 1, data:myObject}
});
每个案例,发送不同的操作,然后在PHP中使用$_POST / $_GET['action']
所以你可以做switch
陈述
e.g。
switch($_POST / $_GET['action']) {
case 1:
//do something
break;
}
答案 1 :(得分:1)
你可以这样做:
switch(true) {
case textA.test(input):
// CASE A
$ajax ({
type:"post",
url:"process.php",
data: {input:input,age:age,city:city,type:"typeA"},
success: function(html){alert(html);} });
break;
case textB.test(input):
// CASE B
$ajax ({
type:"post",
url:"process.php",
data: {input:input,width:width,height:height,type:"typeB"},
success: function(html){alert(html);} });
break;
case ...
}
然后在PHP中:
<?php
switch($_POST['type']) { // or $_REQUEST['type']
case 'typeA':
// Type A handling code here
break;
case 'typeB':
// Type B handling code here
break;
}