加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – json数据返回无效标签错误

发布时间:2020-12-13 22:28:54 所属栏目:PHP教程 来源:网络整理
导读:我正在使用 Ajax file upload功能 Ajax file upload. 上传文件时,我不断收到此错误消息:SyntaxError:invalid label 这是我的JS脚本: jQuery('.uploadImage').live('click',function() { ajaxFileUpload(); }); (...) function ajaxFileUpload(){ jQuery.a
我正在使用 Ajax file upload功能 Ajax file upload.

上传文件时,我不断收到此错误消息:SyntaxError:invalid label

这是我的JS脚本:

jQuery('.uploadImage').live('click',function() {
      ajaxFileUpload();
  });

 (...)

  function ajaxFileUpload(){
    jQuery.ajaxFileUpload({
            url:'../wp-content/plugins/wp-filebrowser/uploader.php',secureuri:false,fileElementId:'uploadFile',dataType: 'json',success: function (data,status){
                if(typeof(data.error) != 'undefined'){
                    if(data.error != ''){
                        alert(data.error);
                    }else{
                        alert(data.msg);
                    }
                }
            },error: function (data,status,e){
                alert(data + ' - ' + status + ' - ' + e);
            }
        }
    )
    return false;   
  }

我的PHP脚本工作(在使用json / jquery之前测试过),但我的PHP文件中的json输出肯定有问题.我尝试了两种方法.

我正在使用json_encode来格式化输出.这是我的一些PHP代码:

(...)
    // Error message is at this stage empty.
    move_uploaded_file($_FILES["file"]["tmp_name"],$uploadfile);
    $respons = $_FILES["file"]["name"]._e(' successfully uploaded');

    $data = array( "error"=> $error,"msg"=> $respons );
    echo json_encode($data);

UPDATE
事实证明,我使用Worpdress的_e()来支持多语言.问题是_e()echo的内容和因此混淆了JSON响应.一旦我切换到__()就行了.

谢谢你帮助我这个笨蛋们.

解决方法

第一种方法不生成有效的JSON.看看json_encode() – 函数的输出,它正确地生成它.主要问题是键和值不是用双引号括起来的.

您是否尝试使用firebug来确定错误的确切来源?每个JSON密钥都必须是一个字符串.在你的错误路线中显然不是这种情况.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读