如何为ajax成功发送两个或多个单独的结果

时间:2016-02-17 14:23:58

标签: javascript php jquery ajax

我想知道如何将两个单独的结果发送到ajax j查询成功 php文件:

    if(mysqli_affected_rows($dbCnn)== -1)
       echo "Failed";
    else
      echo "Success" ;   
    include('table.php');

jquery的:

$.ajax({
    url: 'insert.php',
    dataType: 'text',
    type: 'post',
    contentType: 'application/x-www-form-urlencoded',
    data: $(this).serialize() + '&' + ids + '=' + 'submit',
    success: function(data) {
        $("#tableContainer").html(data);
    }
});

我想要数据,一个用于回声"成功"例如,一个用于包括table.php。

3 个答案:

答案 0 :(得分:2)

您可以在json中序列化它们:

在你的php中:

ob_start();
include('table.php');
$table = ob_get_clean();
echo json_encode(array('table' => $table, 'message' => 'success'));

在javascript中更改如下:

$.ajax({
    url: 'insert.php',
    dataType: 'json',
    type: 'post',
    contentType: 'application/x-www-form-urlencoded',
    data: $(this).serialize()+ '&' + ids + '=' + 'submit',
    success: function(response){
        $("#tableContainer").html(response.table);
        alert(response.message);
    }
});

答案 1 :(得分:1)

您可以构建格式化的响应,在其中详细说明result1,result2,... resultx。 如今,大多数人都会使用JSON来格式化和发送数据。但您也可以使用XML或定义自己的。

JSON示例:

{
  "status": "ok",
  "results": {
    "connection": true,
    "table": false
  }
}

Dazu kann in PHP die Funktion json_encode() verwendet werden:

json_encode([
  'status' => 'ok',
  'results' => array(
    'connection' => $result1,
    'table' => $result2
  )
]);

答案 2 :(得分:0)

你不是到目前为止。我有没有看到你不要求json。 无论如何只是告诉你,你不需要成功这个词来调用你的ajax请求中的成功。

$.ajax({
    url: 'insert.php',
    dataType: 'text',
    type: 'post',
    data: $(this).serialize() + '&' + ids + '=' + 'submit',
    success: function(data) {
        $("#tableContainer").html(data);
    }
});

PHP

if(mysqli_affected_rows($dbCnn)== -1){
   echo "Failed";
} else {
   echo "Success";
   include('table.php');
}