首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Json通过添加字符破坏变量

Json通过添加字符破坏变量
EN

Stack Overflow用户
提问于 2020-11-19 16:28:18
回答 2查看 79关注 0票数 0

我对服务器端php脚本进行Ajax调用。

php应该返回一个json变量,如

这是:{"erreur":"Pas de diffusion可能是20-11-2020",“标题”:“扩散”}

我得到的是: s{"erreur":"Pas de diffusion可能的前卫20-11-2020",“标题”:“扩散”}

这是从哪里来的?

服务器端的代码块('DiffuseOffre.php'):

代码语言:javascript
复制
 $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:

代码语言: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调试器上,“响应”显示为“未定义”,并显示在控制台中:

代码语言:javascript
复制
Uncaught SyntaxError: unexpected token: identifier
    DiffuseOffre http://localhost/Admin/Util/js/main.js:336
    onclick http://localhost/Admin/Offres/diff_offre.php:1

我寻找一个粘贴到我的$retour或$message var上的粘稠的's‘,但什么也没有!

有人知道如何删除那个角色吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-19 17:35:44

你只是想找出你的JSOn文件有什么问题吗?如果是这样的话,您可以将其复制/粘贴到https://jsoneditoronline.org/#中,然后立即看到该额外字符位于哪个位置。

票数 0
EN

Stack Overflow用户

发布于 2020-11-19 18:23:14

我终于拿到了。在完整的php代码中,我包含了一个具有不同参数的文件。这也是一个php文件。在最后一个结束标记(?>)之后,我找到了's‘字符。由于它的位置(在php标记之外),它不会在我的IDE中生成任何语法错误。这可能是缺乏Ctrl+s的结果。

对我来说,这不能解释为什么我发现它粘贴到返回的值(!)

只是浪费了整整一天-)

抱歉的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64915875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档