我正在使用 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/