通过select2-x-editable获取服务器端php输出

Get server-side php output through select2 x-editable

本文关键字:php 输出 服务器端 获取 select2-x-editable 通过      更新时间:2023-09-26

我使用的是select2 v3.5.4和X-editable v1.5.0

我有一个使用select2editable,它通过POST将数据发送到服务器上运行的PHP脚本,我正试图将服务器输出打印到js控制台中。我尝试使用success()功能,但在选择值并点击确认按钮后,我在Chrome控制台中得到的只是undefined

Javascript:

$(".sel").editable( {
  source  : [{id: '1', text: 'One'},
             {id: '2', text: 'Two'},
             {id: '3', text: 'Three'}],
  select2 : {multiple: true},
  url     : "animalsDetailsEdit.php",
  dataType: 'JSON',
  success : function(response, newValue) {
              console.log(response);
            },
  error   : function(){
              console.log("Error");
            }
});

服务器端PHP:

<?php
  echo json_encode("TEST MESSAGE");
?>

我试过多种副神的组合,但都没有用。

我通常设置PHP输出的头,这样javascript就可以很容易地读取输出,还可以禁用错误报告功能,这样API就非常适合javascript读取。

<?php
error_reporting(0);
...
...
...
header('Content-Type:application/json;');
echo json_encode("TEST MESSAGE");

您还可以在标头中设置字符集,如"UTF-8"等。这个输出很容易被javascript读取。。。我注意到的另一件事是,测试消息是一个字符串,而不是数组。我建议你这样做。。。

<?php
error_reporting(0);
$output = array();
$output['status'] = true;
$output['message'] = 'Test Message';
header('Content-Type:application/json;');
echo json_encode($output);

在Javascript中,您可以使用输出数组来检查状态和消息。或者您可以为错误创建另一个变量,也可以在其中放入错误消息。。。

<?php
$output['status'] = false;
$output['error'] = 'error message';
$output['data'] = array();