【发布时间】:2020-11-19 16:28:18
【问题描述】:
我对服务器端 php 脚本进行 Ajax 调用。
php 应该返回一个类似的 json 变量
this : {"erreur":"Pas de spread possible avant le 20-11-2020","title":"Diffusion"}
我明白了: s{"erreur":"Pas de Diffusion possible avant le 20-11-2020","title":"Diffusion"}
这个's'从何而来?
我在服务器端的一段代码('DiffuseOffre.php'):
$nextdate=date("d-m-Y", time() + 24 * 60 * 60);
$message = "Pas de diffusion possible avant le " . $nextdate;
$title = "Diffusion";
$data_php = array(
"erreur" => $message,
"title" => $title
);
$retour = json_encode($data_php);
$error=json_last_error();
echo $retour;
exit();
客户端的javascript:
function DiffuseOffre(envoi, tab, paquet, dest) {
var server ='/Admin/Offres/DiffuseOffre.php';
$.ajax({
url: server,
type:'Post',
dataType: 'json',
data: {
envoi: envoi,
tab: tab,
paquet:paquet,
dest: dest
}
}).done(function(response) {
alert(response);
if (response.hasOwnProperty('erreur')) {
$("#dialog-erreur").html(response.erreur);
$("#dialog-erreur").dialog("open");
$("#dialog-erreur").dialog({
width: '600px',
title: response.title
});
} else {
....
}
});
}
php 调试器向我展示了 json 编码 $retour 的正确语法:
{"erreur":"Pas de diffusion possible avant le 20-11-2020","title":"Diffusion"}
在 Firefox 调试器上,“响应”显示为“未定义”并在控制台中:
Uncaught SyntaxError: unexpected token: identifier
DiffuseOffre http://localhost/Admin/Util/js/main.js:336
onclick http://localhost/Admin/Offres/diff_offre.php:1
我寻找一个粘性“s”,它本来可以粘贴到我的 $retour 或 $message 变量中,但什么也没有!
有人知道如何删除那个 's' 字符吗?
【问题讨论】: