1

我有一个jsswitch 声明,用于检查提交的文本中是否存在特定字符串。

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.

但我怎样才能$ajax在一个单一的处理多个 POST php

我为每个 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
      }
 ?>
4

2 回答 2

2

每个案例发送一个操作,

例如

$.ajax({
   url: 'path/to/file.php',
   type: 'POST / GET',
   data: {action: 1, data:myObject}
});

每种情况下,发送不同的操作,然后在 PHP 中检查$_POST / $_GET['action']

所以你可以做一个switch声明

例如

switch($_POST / $_GET['action']) {
   case 1:
       //do something
       break;
}
于 2013-10-22T10:16:17.193 回答
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;
  }
于 2013-10-22T10:21:47.320 回答