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

标签 javascript php web jquery-select2 x-editable

我正在使用 select2 v3.5.4 和 X-editable v1.5.0

我有一个editable,使用select2通过POST将数据发送到服务器上运行的PHP脚本,我正在尝试将服务器输出打印到js控制台。我尝试使用 success() 函数执行此操作,但在选择值并点击确认按钮后,我在 Chrome 控制台中得到的只是 未定义

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 输出的 header ,以便 javascript 可以轻松读取输出,并且还禁用错误报告,以便 API 变得非常适合 Javascript 读取它。

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

您还可以在 header 中设置“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();

关于javascript - 通过 select2 x-editable 获取服务器端 php 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33945898/

相关文章:

php - TCPDF 垂直拉伸(stretch)文本

javascript - 如果 Google chrome 开发者工具已经打开,如何以编程方式关闭它?

PHP 文件在浏览器中打开而不是运行

javascript - 如何在来回转换时保持 RGB 和 HSL 整数值一致?

javascript - JSDoc:如何声明闭包变量(可在外部作用域的嵌套函数中使用)?

php - 检测上传的图像有多少种颜色

javascript - php:为 highcharts 渲染 javascript 时,laravel 慢速 View 渲染时间

javascript - 要求用户先登录 - 网页

javascript - 使用 sidebar.js/jQuery 将不透明层添加到 HTML 部分

php - 一个js文件在另一个php文件中的Javascript : calling document. ready()函数